glusterd: Reset opinfo.op ONLY if lock succeeded

Change-Id: I0244a7f61a826b32f4c2dfe51e246f2593a38211
BUG: 1060434
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/6885
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
features/index: Loop exit without freeing in-use memory.

If the while loop is exited via the goto, the call to closedir(3) is
skipped, leaving an open directory stream.  This patch ensure that the
directory is closed if the loop is exited via the goto.

BUG: 789278
CID: 1124763

Change-Id: Iec5da4b8d32c0a93c10d035ff38d0c063fd97cda
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6828
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
cluster/dht: Set restrictive open flags for files under rebalance

Files that are being rebalanced are created in the new volume
and access path needs to open these files to write changing
data in parallel to both the old and new locations. While opening
the file in the new location, we need to restrict the open flags
to not use truncate or create and fail if exist flags, to prevent
open failures or inadvertently truncate the file under rebalance.

Change-Id: I12130e0377adc393f1925c45585200ad991fd0d5
BUG: 1058569
Signed-off-by: ShyamsundarR <srangana@redhat.com>
Reviewed-on: http://review.gluster.org/6830
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
libglusterfs:Fixing Dereference NULL return value.

1.Checking of data for NULL.

Change-Id: If49513f7c3fd1dc443c05dc62ed07d3254059e6e
BUG: 789278
Signed-off-by: surabhi <sbhaloth@redhat.com>
Reviewed-on: http://review.gluster.org/6799
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
libxlator: fix memleak in cluster_markerxtime_cbk and cluster_markeruuid_cbk

Change-Id: Ide3574bf9f661b077f707990d47821feda18b1a3
BUG: 841617
Reviewed-on: http://review.gluster.org/6850
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
tests/basic: Prevent mount-options.t from being run.

mount-options.t introduces a race leading to failures in
regression tests. Hence disabling the test unit till we
sort out the race.

Also removing the workaround introduced in mount.t.

Change-Id: I7d60413bbff8597f90153cca838e326247e96cd9
BUG: 1060654
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6911
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Problem : getfattr fails and mount point becomes inaccessible while 
fetching glusterfs.ancestry.path key value for a gfid from aux-gfid-mount 
based mount point.

Analysis : The caller of posix_make_ancestryfromgfid() function i.e. 
posix_get_ancestry_non_directory() is sending an incorrect type value as 
an argument leading to a crash in posix_make_ancestral_node() (head 
dirent pointer is NULL and an attempt to dereference causes seg fault). 
For a non directory operation this piece of code should not have been 
executed but due to incorrect type value this happened.

Solution : In posix_make_ancestryfromgfid() call type is passed as 
logical or of type and POSIX_ANCESTRY_PATH instead of logical or of 
POSIX_ANCESTRY_PATH and POSX_ANCESTRY_DENTRY.


Change-Id: Iaf844bea91396c5e2ee295d5a082998fda66f0a9
BUG: 1060104
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/6892
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
mgmt/glusterd: Fix double free.

Change-Id: I7a8b7772849715b019c86c6c768f33c1d9dcb27c
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6881
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Fix for 'use after free' errors reported by coverity.

Change-Id: I941fc89b2d696c7f227330321ed4bba3ed1deac4
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6868
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
libglusterfs: Allow all valid file handle values to be closed.

Zero (0) is a valid file handle. The code, as written, interprets return
values of open(2) that are less than or equal to zero to indicate an
error.  Only -1 indicates an error.

BUG: 789278
CID: 1124756

Change-Id: Ie77c25f1f557d5d5adcec464b49dc7df2e3dc7e5
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6884
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
changelog: Restrict length of unix socket files to UNIX_PATH_MAX.

Bug fix for Coverity-CID 1124847.

Change-Id: I410ef8e06cbc491b1f72535298fae5e9bc77220d
BUG: 789278
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6870
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
cli/cli-xml :  skipped files should be treated as failures for
remove-brick operation.

Fix: For remove-brick operation skipped count is included into
failure count.

clixml-output : skipped count would be zero always for remove-brick
status.

Change-Id: Ic0bb23b89e0cf5b884b6d1ae42bbf98deedc9173
BUG: 1060209
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/6889
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
gsyncd / geo-rep: cleanup the "tar" process

A missing cleanup for the "tar" process (when tar+ssh
is used as the sync engine).

Change-Id: Ib9599b43e7ec606c70b7c5598793417142be3c0b
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6794
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
gsyncd / geo-rep: "patch" up missing stime

In cases (mostly upgrade) of unavailability of "stime" key and
availability of "xtime" (slave's xtime), introduce "stime" key
on the fly by setting it to the value to "xtime".

Change-Id: Iaa424662d838154c8abc2cf00830c7f9d6be45ac
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6791
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
gsyncd / geo-rep: ignore DHTs sticky bit file during crawl

Change-Id: Ide927759c6a3d5301475eac9f6e785aa901d426e
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6792
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
gsyncd / geo-rep: invoke changelog process() on non-empty change list

Change-Id: Ida4890abdc90d683a4a83127a1573bbb3829ea23
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6793
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
geo-replication: gverify should use disk_size and available_size

"commit ef4bb42382a5c9c3ca0907136669a659c2a20311" was incomplete since
reduction in sizes doesn't really have any affect on the problem when
disks sizes are similar.

Actual fix is to verify disk_size and then verify available_size

Change-Id: Idb57f606df229c0bdaeda8852c74e84d29109ffc
BUG: 1020154
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/6844
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
changelog: When connection is unsuccessful, close socket too.

Bug fix for Coverity CID: 1124791

Change-Id: I0362d45123ebc250290f3a5231f7fb113fa41212
BUG: 789278
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6900
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
gNFS: Possible NULL pointer dereference

In NFS-ACL code (acl3.c) i.e. acl3svc_setacl(), contol can
go to "acl3err" block from setaclargs.mask validation or
acl3_validate_gluster_fh() and acl3_map_fh_to_volume() macros.
But at this point of time "cs" is yet to be init'd (the macro
acl3_handle_call_state_init() is not yet invoked) which can
cause a NULL ptr deref.

FIX:
Refactor the acl3 code.

Coverity ID (CID): 1124491

Change-Id: I3aca38770e03ce59d1705653b6d8349e6cc153b2
BUG: 789278
Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com>
Reviewed-on: http://review.gluster.org/6890
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
glusterd: Fix the NULL dereference errors reported by coverity.

Change-Id: I51c120dfe2db44a2b74f35e5cafb4f364ed6e66e
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6901
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>