cluster/afr: handle fstat failure in data-self-heal

The final fstat which makes the call_count 0 could be a failure.
In that case the buf could either be NULL or buf is all zeros.
If buf is NULL then it will crash, if it is all zeros
buf->ia_type will be IA_INVAL and it proceeds to special file fix.
sh->type is assigned with the ia_type of the file to be healed.
I modified the code to depend on that instead.

Change-Id: Icf7e19ff5908207128f2a1ee2963ad6b791c1ac5
BUG: 804645
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/3031
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
cluster/dht: send dict with linkto key for lookup in rmdir_readdirp

Without this, if there are any stale link files, rmdir fails with
ENOEMPTY error.

Change-Id: I7056b272122eb5540c22412856f46f638774c119
BUG: 807246
Signed-off-by: shishir gowda <shishirng@gluster.com>
Reviewed-on: http://review.gluster.com/3035
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
glusterd: Increase output_string size in glusterd_get_volopt_content

The number of volume options with docs has increased, which causes the
output_string to overflow and causes glusterd to crash. This change prevents
glusterd from crashing.

Change-Id: I79f8931f92ad55245aa547e7df15c9826537b615
BUG: 807914
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.com/3030
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Save old volfiles in the RPM standard way.

I just got bitten by this again.  It appears that the previously merged fix
was inadvertently reverted by a subsequent change.

Change-Id: I3a2067ee891fd5b8be0cd6cee58dcbc8cb6005e9
BUG: 764702
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.com/3009
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
features/locks: check whether dict is NULL before refing it

Change-Id: I8906b80e584466aceb5a7402e3cee6ac2a552fab
BUG: 808003
Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
Reviewed-on: http://review.gluster.com/3036
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
cli,glusterd: more volume status improvements

The major changes are,
* "volume status" now supports getting details of the self-heal daemon processes
for replica volumes. A new cli options "shd", similar to "nfs", has been
introduced for this. "detail", "fd" and "clients" status ops are not supported
for self-heal daemons.
* The default/normal ouput of "volume status" has been enhanced to contain
information about nfs-server and self-heal daemon processes as well. Some tweaks
have been done to the cli output to show appropriate output.

Also, changes have been done to rebalance/remove-brick status, so that hostnames
are displayed instead of uuids.

Change-Id: I3972396dcf72d45e14837fa5f9c7d62410901df8
BUG: 803676
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.com/3016
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
core: fix all the iobuf related refs and unrefs

reviewed the code against all the possible places where
iobuf/iobref ref unref are present, and hopefully fixed most of
the issues around memory leaks with respect to iobuf

Change-Id: I9aa30326962991f8e23acedd389a0e962e097885
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 797875
Reviewed-on: http://review.gluster.com/2994
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
cli: give warning to user in add-brick if stripe count given

* as it is currently not so well tested, user should get notification
  about possibility of problems with the volume type changes.
* added warning instead of removing the feature because with keeping
  an option we can enhance what is there already.

Change-Id: I6cf3491870ac2e50e85c5dbe15c61622a47c18cb
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 787967
Reviewed-on: http://review.gluster.com/3034
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
cli, glusterd : "volume status detail" fixes

Use _PATH_MOUNTED, which refers to /etc/mtab, in
glusterd_add_brick_mount_details(), instead of _PATH_MNTTAB, which refers to
/etc/fstab.

More changes to cli to show available information.

Change-Id: I9da97c0fec14b3372f281efc0be37b2799bc2d0d
BUG: 808044
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.com/3037
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
glusterd: add-brick: give proper reason in few error cases

had missed few 'else' cases, which were needed to send the right
error message to the user regarding the reason for failure.

Change-Id: I42d92782f4dec6f6bdffd42df254b7f38a715e36
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 772544
Reviewed-on: http://review.gluster.com/3032
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
cluster/afr: Fix the split-brain log

Change-Id: Ia4937dee009af7c945ec590a827c982b0e6ad307
BUG: 787653
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/3039
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
cluster/afr: Fix split-brain log

Change-Id: Id6869fb83bb083809a2a69227e233458e0b9e0bf
BUG: 787653
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/3041
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>