diff options
author | Raghavendra Bhat <raghavendra@redhat.com> | 2015-06-27 13:17:32 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2015-08-11 21:17:39 -0700 |
commit | 7b44b6c16fb538e5f15a255182de4dee781994a0 (patch) | |
tree | 19207dfd0469c37a43f1ac9e50d31febbcabcbe8 /tests/bitrot | |
parent | 8d7a4f6b0aa8e63e1a0802e22bcebe96e4e7490f (diff) |
features/bit-rot-stub: fail the fop if inode context get fails
In stub, for fops like readv, writev etc, if the the object is bad, then the fop
is denied. But for checking if the object is bad inode context should be
checked. Now, if the inode context is not there, then the fop is allowed to
continue. This patch fixes it and the fop is unwound with an error, if the inode
context is not found.
Change-Id: I5ea4d4fc1a91387f7f9d13ca8cb43c88429f02b0
BUG: 1243391
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/11449
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to 'tests/bitrot')
-rw-r--r-- | tests/bitrot/bug-internal-xattrs-check-1243391.t | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/bitrot/bug-internal-xattrs-check-1243391.t b/tests/bitrot/bug-internal-xattrs-check-1243391.t new file mode 100644 index 00000000000..bc9c12520b2 --- /dev/null +++ b/tests/bitrot/bug-internal-xattrs-check-1243391.t @@ -0,0 +1,42 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd + +## Create a distribute volume (B=2) +TEST $CLI volume create $V0 $H0:$B0/${V0}1 $H0:$B0/${V0}2; +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; +EXPECT '2' brick_count $V0 + + +## Start the volume +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +## Mount the volume +TEST $GFS --volfile-server=$H0 --volfile-id=$V0 $M0; + +echo "123" >> $M0/file; + +TEST ! setfattr -n "trusted.glusterfs.set-signature" -v "123" $M0/file; +TEST ! setfattr -n "trusted.glusterfs.get-signature" -v "123" $M0/file; + +# sign xattr +TEST ! setfattr -n "trusted.bit-rot.signature" -v "123" $M0/file; +TEST ! setfattr -x "trusted.bit-rot.signature" $M0/file; + +# versioning xattr +TEST ! setfattr -n "trusted.bit-rot.version" -v "123" $M0/file; +TEST ! setfattr -x "trusted.bit-rot.version" $M0/file; + +# bad file xattr +TEST ! setfattr -n "trusted.bit-rot.bad-file" -v "123" $M0/file; +TEST ! setfattr -x "trusted.bit-rot.bad-file" $M0/file; + +cleanup; |