diff options
author | Ravishankar N <ravishankar@redhat.com> | 2016-07-12 10:07:48 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-07-28 06:54:49 -0700 |
commit | 823eb274a3c4226aea44f6feb955a5df04aae190 (patch) | |
tree | 7d82e13de093dd5a1085e154ec2bba00b37d1af6 /tests | |
parent | 9112c896e7ad3087654a1bc8bc0d78c5effa885d (diff) |
afr: some coverity fixes
Note: This is a backport of http://review.gluster.org/14895.
It contains:
i) fixes that prevent deadlocks (afr-common.c).
ii) fixes over-writing op-errno=ENOMEM with possible other values
(afr-inode-read.c).
iii) prevents doing further operations with a NULL dictionary if
allocation fails (afr-self-heal-data.c).
iv) prevents falsely marking a sink as healed if metadata heal fails
midway(afr-self-heal-metadata.c).
v) other minor fixes.
Considering the above are not trivial fixes, the patch is a good
candidate for merging in 3.8 branch.
Thanks to Krutika for a cleaner way to track inode refs in
afr_set_split_brain_choice().
Change-Id: I2d968d05b815ad764b7e3f8aa9ad95a792b3c1df
BUG: 1360556
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/15018
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basic/afr/root-squash-self-heal.t | 1 | ||||
-rw-r--r-- | tests/basic/afr/split-brain-healing.t | 4 | ||||
-rwxr-xr-x | tests/bugs/glusterd/859927/repl.t | 6 | ||||
-rw-r--r-- | tests/bugs/replicate/bug-821056.t | 2 |
4 files changed, 6 insertions, 7 deletions
diff --git a/tests/basic/afr/root-squash-self-heal.t b/tests/basic/afr/root-squash-self-heal.t index 8337432dbc9..ff0aa5cecb7 100644 --- a/tests/basic/afr/root-squash-self-heal.t +++ b/tests/basic/afr/root-squash-self-heal.t @@ -14,7 +14,6 @@ TEST $CLI volume set $V0 server.root-squash on TEST $CLI volume start $V0 TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 --no-root-squash=yes --use-readdirp=no TEST kill_brick $V0 $H0 $B0/${V0}0 -HEAL_FILES=0 echo abc > $M0/a TEST $CLI volume start $V0 force diff --git a/tests/basic/afr/split-brain-healing.t b/tests/basic/afr/split-brain-healing.t index 2171de3029d..302a3e6144b 100644 --- a/tests/basic/afr/split-brain-healing.t +++ b/tests/basic/afr/split-brain-healing.t @@ -124,7 +124,7 @@ subvolume=$(get_replicate_subvol_number file3) if [ $subvolume == 0 ] then $CLI volume heal $V0 split-brain source-brick $H0:$B0/${V0}2 /file3 -elif [ $subvolume == 1] +elif [ $subvolume == 1 ] then $CLI volume heal $V0 split-brain source-brick $H0:$B0/${V0}4 /file3 fi @@ -139,7 +139,7 @@ then GFID=$(gf_get_gfid_xattr $B0/${V0}1/file4) GFIDSTR="gfid:$(gf_gfid_xattr_to_str $GFID)" $CLI volume heal $V0 split-brain source-brick $H0:$B0/${V0}2 $GFIDSTR -elif [ $subvolume == 1] +elif [ $subvolume == 1 ] then GFID=$(gf_get_gfid_xattr $B0/${V0}3/file4) GFIDSTR="gfid:$(gf_gfid_xattr_to_str $GFID)" diff --git a/tests/bugs/glusterd/859927/repl.t b/tests/bugs/glusterd/859927/repl.t index 40e86029685..70143e2c193 100755 --- a/tests/bugs/glusterd/859927/repl.t +++ b/tests/bugs/glusterd/859927/repl.t @@ -32,7 +32,7 @@ TEST $CLI volume set $V0 cluster.data-self-heal-algorithm full EXPECT full volume_option $V0 cluster.data-self-heal-algorithm create_setup_for_self_heal $M0/a EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0 -cat $file 2>&1 > /dev/null +cat $file > /dev/null 2>&1 EXPECT_WITHIN $HEAL_TIMEOUT 0 get_pending_heal_count $V0 TEST cmp $B0/${V0}1/a $B0/${V0}2/a @@ -40,14 +40,14 @@ TEST $CLI volume set $V0 cluster.data-self-heal-algorithm diff EXPECT diff volume_option $V0 cluster.data-self-heal-algorithm create_setup_for_self_heal $M0/a EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0 -cat $file 2>&1 > /dev/null +cat $file > /dev/null 2>&1 EXPECT_WITHIN $HEAL_TIMEOUT 0 get_pending_heal_count $V0 TEST cmp $B0/${V0}1/a $B0/${V0}2/a TEST $CLI volume reset $V0 cluster.data-self-heal-algorithm create_setup_for_self_heal $M0/a EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0 -cat $file 2>&1 > /dev/null +cat $file > /dev/null 2>&1 EXPECT_WITHIN $HEAL_TIMEOUT 0 get_pending_heal_count $V0 TEST cmp $B0/${V0}1/a $B0/${V0}2/a diff --git a/tests/bugs/replicate/bug-821056.t b/tests/bugs/replicate/bug-821056.t index a1633004404..81186d86309 100644 --- a/tests/bugs/replicate/bug-821056.t +++ b/tests/bugs/replicate/bug-821056.t @@ -35,7 +35,7 @@ kill_brick $V0 $H0 $B0/${V0}0 TEST gf_rm_file_and_gfid_link $B0/${V0}0 "a" TEST $CLI volume start $V0 force EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0 -ls -l $M0/a 2>&1 > /dev/null #Make sure the file is re-created +ls -l $M0/a > /dev/null 2>&1 #Make sure the file is re-created EXPECT "N" gf_check_file_opened_in_brick $V0 $H0 $B0/${V0}0 "$realpath" EXPECT "N" gf_check_file_opened_in_brick $V0 $H0 $B0/${V0}0 $B0/${V0}0/a |