diff options
Diffstat (limited to 'tests/bugs/upcall')
| -rwxr-xr-x | tests/bugs/upcall/bug-1227204.t | 29 | ||||
| -rwxr-xr-x | tests/bugs/upcall/bug-1369430.t | 43 | ||||
| -rwxr-xr-x | tests/bugs/upcall/bug-1394131.t | 29 | ||||
| -rwxr-xr-x | tests/bugs/upcall/bug-1422776.t | 30 | ||||
| -rwxr-xr-x | tests/bugs/upcall/bug-1458127.t | 36 | ||||
| -rwxr-xr-x | tests/bugs/upcall/bug-upcall-stat.t | 39 |
6 files changed, 206 insertions, 0 deletions
diff --git a/tests/bugs/upcall/bug-1227204.t b/tests/bugs/upcall/bug-1227204.t new file mode 100755 index 00000000000..fc393b1837f --- /dev/null +++ b/tests/bugs/upcall/bug-1227204.t @@ -0,0 +1,29 @@ +#!/bin/bash + +# This regression test tries to ensure that quota limit-usage set work with +# features.cache-invalidation on. + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd; +TEST $CLI volume info; + +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2,3,4,5,6}; +TEST $CLI volume start $V0; + +TEST $CLI volume set $V0 features.cache-invalidation on; +TEST $CLI volume quota $V0 enable; + +TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M0; + +TEST mkdir -p $M0/1/2; +TEST $CLI volume quota $V0 limit-usage /1/2 100MB 70%; + +TEST $CLI volume status $V0 +TEST $CLI volume stop $V0 + +cleanup; diff --git a/tests/bugs/upcall/bug-1369430.t b/tests/bugs/upcall/bug-1369430.t new file mode 100755 index 00000000000..f53c17a1495 --- /dev/null +++ b/tests/bugs/upcall/bug-1369430.t @@ -0,0 +1,43 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +## 1. Start glusterd +TEST glusterd; + +## 2. Lets create volume +TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2,3}; + +## 3. Start the volume +TEST $CLI volume start $V0 + +## 4. Enable the upcall xlator, and increase the md-cache timeout to max +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 600 +TEST $CLI volume set $V0 performance.cache-invalidation on +TEST $CLI volume set $V0 performance.md-cache-timeout 600 +TEST $CLI volume set $V0 performance.cache-samba-metadata on + +## 8. Create two gluster mounts +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M1 + +## 10. Create directory and files from the M0 +TEST mkdir $M0/dir1 +TEST touch $M0/dir1/file{1..5} + +## 12. Access the files via readdirp, from M1 +TEST ls -l $M1/dir1/ + +# Change the stat of one of the files from M0 and wait for it to +# invalidate the md-cache of another mount M0 +echo "hello" > $M0/dir1/file2 +sleep 2; + +## 13. Expct non zero size when stat from M1 +EXPECT_NOT "0" stat -c %s $M1/dir1/file2 + +cleanup; diff --git a/tests/bugs/upcall/bug-1394131.t b/tests/bugs/upcall/bug-1394131.t new file mode 100755 index 00000000000..b371ce4e682 --- /dev/null +++ b/tests/bugs/upcall/bug-1394131.t @@ -0,0 +1,29 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +## 1. Start glusterd +TEST glusterd; + +## 2. Lets create volume +TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2,3}; + +## 3. Enable the upcall xlator, and increase the md-cache timeout to max +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 600 +TEST $CLI volume set $V0 indexing on + +## 6. Start the volume +TEST $CLI volume start $V0 + +## 7. Create two gluster mounts +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 + +## 8. Create directory and files from the M0 +TEST touch $M0/file1 +TEST mv $M0/file1 $M0/file2 + +cleanup; diff --git a/tests/bugs/upcall/bug-1422776.t b/tests/bugs/upcall/bug-1422776.t new file mode 100755 index 00000000000..cb249ce1cd2 --- /dev/null +++ b/tests/bugs/upcall/bug-1422776.t @@ -0,0 +1,30 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +## Start glusterd +TEST glusterd; + +## Lets create volume +TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2,3}; + +## Enable the upcall xlator, and increase the md-cache timeout to max +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 600 +TEST $CLI volume set $V0 indexing on + +## Start the volume +TEST $CLI volume start $V0 +TEST $CLI volume quota $V0 enable + +## Create two gluster mounts +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 + +## Create directory and files from the M0 +TEST touch $M0/file1 +TEST mv $M0/file1 $M0/file2 + +cleanup; diff --git a/tests/bugs/upcall/bug-1458127.t b/tests/bugs/upcall/bug-1458127.t new file mode 100755 index 00000000000..e844f37f1d3 --- /dev/null +++ b/tests/bugs/upcall/bug-1458127.t @@ -0,0 +1,36 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd + +TEST $CLI volume create $V0 $H0:$B0/${V0}{0} +EXPECT 'Created' volinfo_field $V0 'Status' + +TEST $CLI volume set $V0 performance.nl-cache on +TEST $CLI volume set $V0 nl-cache-positive-entry on +TEST $CLI volume set $V0 nl-cache-timeout 2 +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 2 +TEST $CLI volume set $V0 md-cache-timeout 20 + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M1 + +TEST mkdir $M0/dir +TEST touch $M0/dir/xyz +#Wait until upcall clears the fact that M0 had accessed dir +sleep 4 +TEST mv $M0/dir/xyz $M0/dir/xyz1 +TEST ! ls $M0/dir/file1 +TEST touch $M1/dir/file1 +TEST ls $M0/dir/file1 +TEST ls $M0/dir/file1 + +cleanup; diff --git a/tests/bugs/upcall/bug-upcall-stat.t b/tests/bugs/upcall/bug-upcall-stat.t new file mode 100755 index 00000000000..0ba944ec441 --- /dev/null +++ b/tests/bugs/upcall/bug-upcall-stat.t @@ -0,0 +1,39 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; +TEST glusterd; + +TEST $CLI volume create $V0 $H0:$B0/${V0}{1}; + +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 600 +TEST $CLI volume set $V0 performance.cache-invalidation on +TEST $CLI volume set $V0 performance.md-cache-timeout 600 +TEST $CLI volume set $V0 performance.cache-samba-metadata on + +#TEST $CLI volume stop $V0 +TEST $CLI volume start $V0 + +## 5. Create two gluster mounts +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M1 + +TEST $CLI volume profile $V0 start + +## 8. Create a file +TEST touch $M0/file1 + +TEST "setfattr -n user.DOSATTRIB -v "abc" $M0/file1" +TEST "getfattr -n user.DOSATTRIB $M1/file1 | grep -q abc" +TEST "setfattr -n user.DOSATTRIB -v "xyz" $M0/file1" +sleep 2; #There can be a very very small window where the next getxattr + #reaches md-cache, before the cache-invalidation caused by previous + #setxattr, reaches md-cache. Hence sleeping for 2 sec. + #Also it should not be > 600. +TEST "getfattr -n user.DOSATTRIB $M1/file1 | grep -q xyz" + +$CLI volume profile $V0 info | grep -q CI_XATTR +EXPECT '0' echo $? |
