summaryrefslogtreecommitdiffstats
path: root/tests/basic/quota-nfs.t
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2014-12-24 15:13:36 +0530
committerRaghavendra G <rgowdapp@redhat.com>2014-12-27 05:52:07 -0800
commitb6ea761969f85fbb0f22810eb3a3bf1476c8792c (patch)
tree935f71888ebcd80b5ff428a02167e2aac45c5483 /tests/basic/quota-nfs.t
parent2947752836bd3ddbc572b59cecd24557050ec2a5 (diff)
quota: For a rename operation, do quota_check_limit only till the
common ancestor of src and dst file Example: set quota limit set to 1GB on / create a file /a1/b1/file1 of 600MB mv /a1/b1/file1 /a1/b1/file2 This rename fails as it takes delta into account which sums up to 1.2BG. Though we are not creating new file, we still get quota exceeded error. So quota enforce should happen only till b1. Similarly: mv /a/b/c/file /a/b/x/y/file quota enforce should happen only till dir 'b' Change-Id: Ia1e5363da876c3d71bd424e67a8bb28b7ac1c7c1 BUG: 1153964 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/8940 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'tests/basic/quota-nfs.t')
-rwxr-xr-xtests/basic/quota-nfs.t52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/basic/quota-nfs.t b/tests/basic/quota-nfs.t
new file mode 100755
index 00000000000..501d8ab6381
--- /dev/null
+++ b/tests/basic/quota-nfs.t
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+. $(dirname $0)/../include.rc
+. $(dirname $0)/../nfs.rc
+
+function usage()
+{
+ local QUOTA_PATH=$1;
+ $CLI volume quota $V0 list $QUOTA_PATH | \
+ grep "$QUOTA_PATH" | awk '{print $4}'
+}
+
+cleanup;
+
+TEST glusterd
+TEST pidof glusterd
+TEST $CLI volume info;
+
+TEST $CLI volume create $V0 $H0:$B0/brick1;
+EXPECT 'Created' volinfo_field $V0 'Status';
+
+TEST $CLI volume set $V0 network.inode-lru-limit 1
+
+TEST $CLI volume start $V0;
+EXPECT 'Started' volinfo_field $V0 'Status';
+
+EXPECT_WITHIN $NFS_EXPORT_TIMEOUT 1 is_nfs_export_available
+TEST mount_nfs $H0:/$V0 $N0
+deep=/0/1/2/3/4/5/6/7/8/9
+TEST mkdir -p $N0/$deep
+
+TEST dd if=/dev/zero of=$N0/$deep/file bs=1k count=10240
+
+TEST $CLI volume quota $V0 enable
+TEST $CLI volume quota $V0 limit-usage / 20MB
+TEST $CLI volume quota $V0 soft-timeout 0
+TEST $CLI volume quota $V0 hard-timeout 0
+
+TEST dd if=/dev/zero of=$N0/$deep/newfile_1 bs=512 count=10240
+# wait for write behind to complete.
+EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "15.0MB" usage "/"
+
+# compile the test write program and run it
+TEST $CC $(dirname $0)/quota-nfs.c -o $(dirname $0)/quota-nfs;
+# Try to create a 100Mb file which should fail
+TEST ! $(dirname $0)/quota-nfs $N0/$deep/newfile_2 "104857600"
+TEST rm -f $N0/$deep/newfile_2
+
+## Before killing daemon to avoid deadlocks
+umount_nfs $N0
+
+cleanup;