glusterd / geo-rep : fix rotating slave log file

Attempt to rotate log files for slave that are local.
Remote slaves (identified by the 'ssh' scheme) are
ignored.

Change-Id: I89959278c0eefffabc6a6702d4ef661cf52644a6
BUG: 821443
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.com/3444
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
glusterd/geo-rep: cleanup and fixes

- fix the hilarious fd leak of "geo-rep status"
- instead of "corrupt", which can trip up users to think their
  data is in danger, use the term "defunct" to describe the
  condition when gsyncd is dead/unresponsive
- don't use buffered I/O when unnecessary
- stop using PATH_MAX for sizing buffers that don't hold paths
- some cleanups wrt. memory management

Change-Id: I396aacc45dc06a002318b19c60c44041fa9fa18d
BUG: 764268
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3454
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
glusterd/geo-rep: do away with unneded function exports

Change-Id: I0c0b500bcb0b183ae445800fd334cd838b8af0d3
BUG: 764890
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3455
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
rpc-transport/rdma: logging enhancements

Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Change-Id: I07f00fb768dfdabdc04b43fdb8a0609098cd1838
BUG: 822337
Reviewed-on: http://review.gluster.com/3445
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
glusterd: Replace-brick should create dst brick path only on 'dst' node.

Change-Id: I61e6f8aa44dfef85c7cd98f40b176b796422c4b2
BUG: 824302
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/3415
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
nfs/mount: Support MOUNT protocol on UDP. Needed for NLM on solaris clients.

Change-Id: I3f5c35d06827fb267a7dae53d949c61567a945d0
BUG: 799287
Signed-off-by: Krishna Srinivas <ksriniva@redhat.com>
Reviewed-on: http://review.gluster.com/3337
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Rajesh Amaravathi <rajesh@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
libglusterfs: Fix incorrect NULL check

Change-Id: I22e1bf1669e639b5097b2b56c90b47e8b733a34d
BUG: 825197
Reviewed-on: http://review.gluster.com/3467
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
build: Update licensing in buildspec

Change-Id: I1d3348a99dad621608eccb08a71c85766e9ae451
BUG: 820551
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Reviewed-on: http://review.gluster.com/3469
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
storage/posix: readdirp enhancements

- avoid multiple calls to posix_istat(). use cheaper posix_pstat()
- code re-org

Change-Id: I4a2e32626ade49b7d18158952849c6fe7bd6875c
BUG: 816140
Reviewed-on: http://review.gluster.com/3460
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
nfs/nlm: statedump of locks

This change allows statedump of nlm locks
giving number of clients, number of locks
each client holds and the files on which lock(s)
is/are held.

Change-Id: I6341c12ec58005ef71b93b316b527e610ff7ee8f
BUG: 824804
Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com>
Reviewed-on: http://review.gluster.com/3432
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
glusterd: Run post hooks on a different thread

This change ensures post hooks can 'wait' if need be
and _not_ prevent glusterd from being able to run other operations
meanwhile.

Also ensures that post hook scripts are 'serialized'
between transactions. ie, post hook scripts of txn1 are completed
before post hook scripts of txn2 are started, where txn1 happens before
txn2.

Change-Id: Iaeb676737d8c67e7151127c8d1fd8c2891e10aee
BUG: 806996
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/3450
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
swift: Fix for multiple mounts on the same mount point.

When swift server receives multiple requests on a volume and if the
volume is not mounted before hand, for each request swift tries to
mount the GlusterFS volume on the mount point. This process is racy
and may mount multiple times on the same mount point.

Also added a new option object_only in fs.conf which should be enabled
only if the user requires ReST interface and will have better performance.
By default it is set "off".

Change-Id: Ie1718554c5aaf577e823bbd84da8e78d803e954d
BUG: 821310
Signed-off-by: Mohammed Junaid <junaid@redhat.com>
Reviewed-on: http://review.gluster.com/3477
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
server protocol : logging and negative case logic fixes

* log 'resolve' gfid, instead of inode gfid, which fails to log
  for everything which fails to resolve.

* in case of 'op_ret == -1' never look into xdata or any other
  argument.

* bring uniformity in the _cbk() code.

BUG: 821139

This patch is not complete fix for above mentioned bug, but is
useful the debug it properly

Change-Id: I159becdde70720cba072e494f70951395dc6868f
Signed-off-by: Amar Tumballi <amarts@redhat.com>
Reviewed-on: http://review.gluster.com/3437
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
performance/md-cache: make cache timeout reconfigurable via cli

Change-Id: I73685bf73a14435884d3489343bbe71c331eb2a5
BUG: 825638
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.com/3458
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
glusterd: change working-directory from /etc/glusterd to /var/lib/glusterd

as it is changed in RPM based install (using spec file), makes sense to do
it everywhere, even in source install

Change-Id: Ibe5ebd860b1529aca295b79d683a3b2e6797506c
Signed-off-by: Amar Tumballi <amar@gluster.com>
BUG: 824231
Reviewed-on: http://review.gluster.com/3338
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
fuse: make SELinux support configurable

Make support for SELinux labels (extended attributes) configurable
and disabled by default as it can cause significant performance
penalty when enabled (it need not be enabled unless specially crafted
policies are set -- which is not by default)

Change-Id: I97bc4b1c26cf055fd520e9bf2d49e52b14fe7515
BUG: 811217
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.com/3484
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
protocol: do not log getxattr/ENODATA as warning

When SELinux is enabled, most of the files do not have labels and
result is a ton of unnecessary logs

Change-Id: I0e781e2fb6bcfb3fb12298175a41f7b981af9c39
BUG: 811217
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.com/3486
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
logging: change the 'logfile' value in a locked region

'logfile' is a global variable, and it can change if log-rotate
command is issued. currently 'fprintf(logfile)' happens in a
locked region where as the 'fclose(logfile)' can happen outside
the locked region causing racy behavior.

Change-Id: I40871e5c365303b7c602e2c302b085d64f6b945f
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 826032
Reviewed-on: http://review.gluster.com/3493
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
glusterd: cut out a standalone socket path calculation routine

Change-Id: If5f196c9154ea59e37b83d3e4cad445fee6e9d45
BUG: 826512
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3490
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com>
glusterd-hooks: added support for separate namespace for 'volume set' keys

The keys in the above mentioned namespace could be used by hook
scripts to peform tasks on 'special' keys as defined by the storage
admin. The choice of the key and its semantics of it are outside
the scope of glusterd. It is the responsibility of the storage admin
to keep the meaning of the key(s) consistent.

If a user gives a command like

 'gluster volume set <VOLNAME> user.for-this-key do-this"

scripts would get 'user.for-this-key=do-this' as argument.

Change-Id: I5509e17d99e4ddd8bf5df968dcd51ff9a80dc3ab
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 825902
Reviewed-on: http://review.gluster.com/3443
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>