From 98c1d1488cc5fe3b61c3118850d36195baa644a4 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Sun, 8 Jun 2014 11:23:26 +0530 Subject: features/gfid-access: Fix inode leaks and loc path corruption Backport of http://review.gluster.org/8009 Backport of http://review.gluster.org/8163 BUG: 1112659 Change-Id: Ic70a3ddfcfef88909c12ca6791a8e20c3fee2eae Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.org/8250 Reviewed-by: Kotresh HR Tested-by: Gluster Build System Reviewed-by: Niels de Vos --- tests/basic/gfid-access.t | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tests/basic/gfid-access.t (limited to 'tests/basic') diff --git a/tests/basic/gfid-access.t b/tests/basic/gfid-access.t new file mode 100644 index 00000000000..24477acba5c --- /dev/null +++ b/tests/basic/gfid-access.t @@ -0,0 +1,60 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 $H0:$B0/${V0}0 +TEST $CLI volume start $V0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 --aux-gfid-mount +TEST mkdir $M0/a +TEST touch $M0/b +a_gfid_str=$(gf_gfid_xattr_to_str $(gf_get_gfid_xattr $B0/${V0}0/a)) +b_gfid_str=$(gf_gfid_xattr_to_str $(gf_get_gfid_xattr $B0/${V0}0/b)) + +#Operations on Directory +TEST setfattr -n trusted.abc -v abc $M0/a +EXPECT "abc" echo $(getfattr -n trusted.abc $M0/a) +EXPECT "abc" echo $(getfattr -n trusted.abc $M0/.gfid/$a_gfid_str) +TEST setfattr -x trusted.abc $M0/a +TEST ! getfattr -n trusted.abc $M0/a +TEST ! getfattr -n trusted.abc $M0/.gfid/$a_gfid_str +TEST chmod 0777 $M0/a +EXPECT "777" stat -c "%a" $M0/a +EXPECT "777" stat -c "%a" $M0/.gfid/$a_gfid_str + +TEST setfattr -n trusted.abc -v def $M0/.gfid/$a_gfid_str +EXPECT "def" echo $(getfattr -n trusted.abc $M0/a) +EXPECT "def" echo $(getfattr -n trusted.abc $M0/.gfid/$a_gfid_str) +TEST setfattr -x trusted.abc $M0/.gfid/$a_gfid_str +TEST ! getfattr -n trusted.abc $M0/a +TEST ! getfattr -n trusted.abc $M0/.gfid/$a_gfid_str +TEST chmod 0777 $M0/.gfid/$a_gfid_str +EXPECT "777" stat -c "%a" $M0/a +EXPECT "777" stat -c "%a" $M0/.gfid/$a_gfid_str + +#Operations on File +TEST setfattr -n trusted.abc -v abc $M0/b +EXPECT "abc" echo $(getfattr -n trusted.abc $M0/b) +EXPECT "abc" echo $(getfattr -n trusted.abc $M0/.gfid/$b_gfid_str) +TEST setfattr -x trusted.abc $M0/b +TEST ! getfattr -n trusted.abc $M0/b +TEST ! getfattr -n trusted.abc $M0/.gfid/$b_gfid_str +TEST chmod 0777 $M0/b +EXPECT "777" stat -c "%a" $M0/b +EXPECT "777" stat -c "%a" $M0/.gfid/$b_gfid_str + +TEST setfattr -n trusted.abc -v def $M0/.gfid/$b_gfid_str +EXPECT "def" echo $(getfattr -n trusted.abc $M0/b) +EXPECT "def" echo $(getfattr -n trusted.abc $M0/.gfid/$b_gfid_str) +TEST setfattr -x trusted.abc $M0/.gfid/$b_gfid_str +TEST ! getfattr -n trusted.abc $M0/b +TEST ! getfattr -n trusted.abc $M0/.gfid/$b_gfid_str +TEST chmod 0777 $M0/.gfid/$b_gfid_str +EXPECT "777" stat -c "%a" $M0/b +EXPECT "777" stat -c "%a" $M0/.gfid/$b_gfid_str + +cleanup -- cgit