summaryrefslogtreecommitdiffstats
path: root/tests/bugs
diff options
context:
space:
mode:
authorKrishnan Parthasarathi <kparthas@redhat.com>2013-10-28 19:14:49 +0530
committerVijay Bellur <vbellur@redhat.com>2014-01-20 07:15:07 -0800
commit17c4fb2d04f84b5632983866e8bddfbd7d77a054 (patch)
treea94ecf181a3df66a381df09d1abb73cab192d878 /tests/bugs
parentb2ef4e3d11af79a765406672bb6ca070b40c9b64 (diff)
quota: get directory size before enforcing quota on rename
Change-Id: If18cab5992ddc91457782786942971deb1b51ead BUG: 1023974 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/6155 Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests/bugs')
-rw-r--r--tests/bugs/bug-1023974.t33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/bugs/bug-1023974.t b/tests/bugs/bug-1023974.t
new file mode 100644
index 000000000..56766b979
--- /dev/null
+++ b/tests/bugs/bug-1023974.t
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+# This regression test tries to ensure renaming a directory with content, and
+# no limit set, is accounted properly, when moved into a directory with quota
+# limit set.
+
+. $(dirname $0)/../include.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 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%;
+
+#The corresponding write(3) should fail with EDQUOT ("Disk quota exceeded")
+TEST ! dd if=/dev/urandom of=$M0/1/2/file bs=1M count=102;
+TEST mkdir $M0/1/3 -p;
+TEST dd if=/dev/urandom of=$M0/1/3/file bs=1M count=102;
+
+#The corresponding rename(3) should fail with EDQUOT ("Disk quota exceeded")
+TEST ! mv $M0/1/3/ $M0/1/2/3_mvd;
+
+cleanup;