Fix build on NetBSD-current

BUG: 764655
Change-Id: I2aaec9de617b0616525ad30f82ac6f75a6446d33
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/6036
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
hookscripts: Changes in hook scripts to make it work on all Linux/GNU distribution
Removed the hard coded values for smb.conf, smb logfile location and smbd.pid.
The current hook scripts also work for manully compiled (make, make install)
instance of gluster and Samba. But we have to manually copy the hook scripts
to respective locations.

Change-Id: I14056830fcd2ecb48b3c4df89265f4408c8de3e3
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-on: http://review.gluster.org/5947
Reviewed-by: poornima g <pgurusid@redhat.com>
Reviewed-by: susant palai <spalai@redhat.com>
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Tested-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
NFS: showmount timesout on fetching export list

Bug: 1015184

Issue:  showmount timesout on fetching export list. Socket writev
        function is failing.
Cause:  XDR encoding of export list is failing. The calling function
        without checking the error returned by xdr_serialize_exports
        function is going ahead and writting into the socket causing
        the NFS process to hang. xdr_serialize_exports function returns
        -1 on error and message length on success.
Fix:    Caller should check if the function is returning -1 (error) or
        not before proceeding.

Change-Id: Ic3a5a9356e47b2ac938dd3e429cf2b71c0a0c715
Signed-off-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-on: http://review.gluster.org/6030
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
extras/hookscripts: Fix the multiple entries in smb.conf problem.

Problem:
1. Force starts and user.smb sets were adding multiple entries to
the smb.conf file for the same volume.
Make a check for the entry and search with exact name.

2. Again, while deleting the share name from smb.conf search with
exact name so that volumes with names which are substrings of ones to
be deleted don't get deleted.

3. We don't need to use a tmp file while using sed -i, fixed that.

Change-Id: Ie0f7c9d4790ef9a177a043378a761c9ffe1628e5
BUG: 994727
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6043
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Tested-by: Lalatendu Mohanty <lmohanty@redhat.com>
cli,glusterd: Implement 'volume status tasks'

oVirt's Gluster Integration needs an inexpensive command that can be
executed every 10 seconds to monitor async tasks and their parameters,
for all volumes.

The solution involves adding a 'tasks' sub-command to 'volume status'
to fetch only the async task IDs, type and other relevant parameters.
Only the originator glusterd participates in this command as all the
information needed is available on all the nodes. This is to make the
command suitable for being executed every 10 seconds.

Change-Id: I1edc607baf29b001a5585079dec681d7c641b3d1
BUG: 1012346
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/6006
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
tests/basic/rpm.t: fix script error introduced by commit a66bf679

The if-clause will always return false, causing each regression test to
build the rpms. The following error is listed on the Jenkins Console
Output of the regression test:

    ./tests/basic/rpm.t: line 42: [: argument expected

BUG: 904005
Change-Id: I343c80d8c57fa0ec8b8a531bb5f5c86209d88d7e
CC: Harshavardhana <harsha@harshavardhana.net>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/6057
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
features/qemu-block: invoke bdrv_init() only once

bdrv_init() is intended to be invoked only once. If invoked again
after initialization (i.e., due to graph changes), the block driver
registration code can reinsert entries into bdrv_drivers,
effectively corrupting the NULL terminated linked list. This
manifests as an infinite loop for callers attempt to traverse the
list (to locate a driver).

BUG: 986775
Change-Id: I2f95bda3c753dece4648cdad009d0e2a2d16f644
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.org/6021
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
contrib/qemu: disable coroutine caching in qemu

Coroutine caching in qemu is dangerous in the manner that the
qemu-block translator embeds the qemu block subsystem code. After
a graph switch, new requests can fork off and pass active graph
data structures (i.e., inodes) down into old syncenvs and old
graphs, leading to failures.

BUG: 986775
Change-Id: I7b7226ff57c7867d0e51a58a7c0e58f4d8424c31
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.org/6022
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
rpm: glusterfs-api-devel requires glusterfs-devel

When installing the glusterfs-api-devel package in order to build
software that uses libgfapi, there are unmet dependencies. Installing
glusterfs-devel additionally solved these link errors:

  $ echo 'int main(){}' > bar.c
  $ gcc -o bar bar.c $(pkg-config --libs glusterfs-api)
  /usr/bin/ld: cannot find -lglusterfs
  /usr/bin/ld: cannot find -lgfrpc
  /usr/bin/ld: cannot find -lgfxdr
  collect2: error: ld returned 1 exit status

Change-Id: I12e922aa6609809c03ec2c9a0d8a47c5df91d0a1
BUG: 1017094
Reported-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/6056
Reviewed-by: Bala FA <barumuga@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
cluster/afr: disable client side self-healing in opendir()

The purpose of opendir() self-healing was to recreate files
which go missing after a crash/reboot (because the file was
created just before the crash).

This refactor addresses crash related healing problems in
the self-heal daemon and therefore eliminates the need for
opendir() self-healing in the client side.

Change-Id: I880e2896429b3ebf3669956040c3c14860494152
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove remaining traces of readdir-failover

The feature was removed long ago, but there are still traces left.
Remove all traces.

Change-Id: Icbee156b9db2111b7e6c37ab3e9a0a62e1721272
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: disable open fd self-healing on client side

Change-Id: I9cbef8005e7627f9f34d770b50932a0c32f43fab
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove self-healing from lookup()

In AFR lookup() we will only find out which of the copies is good
for reading and save that in the inode ctx.

Change-Id: I33bef58362fb1f0163b7202cf4ad52dc928c3f54
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: move self-heal specific functions to afr-self-heal-common.c

No code change, just re-organize.

Change-Id: Ieddda28c8919a8aac5f5ebfd5d5f6448deea92f6
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: revert (temporarily) fsync based durability fixes

Change-Id: Ifb09d6e69150d335b1c314217738b34d533aaa43
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove unused lock recovery code

Lock recovery now happens at protocol/client level. Remove all unused
recovery code in AFR.

Change-Id: Ic1ce01ee17dd1a094b8ca70d5d15319aa1c654f1
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: consistently use xdata sent from up in all transaction fops

This xdata will be loaded with dirty marker and post-op in future patches

Change-Id: Ie21c1b38b20eb0b663d60658c2d24e78d17d90eb
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: keep count of possible consistency changing events

Later, use this to recalculate freshness/staleness per inode.

Change-Id: If2fd882fdd14fcdbec4ee767840264478b67d4ad
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: Implement dirty flag support (in place of pending counts)

Change-Id: I6ccf71a507ad4eece839c80f711096224f0128d2
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: temporarily disable self-heal build

Change-Id: I0cc3e694fb4c711c7e09def24e2f4d5d2b03a5ad
Signed-off-by: Anand Avati <avati@redhat.com>