From: Yunchuan Wen Date: Wed, 10 Dec 2014 07:11:17 +0000 (+0800) Subject: test: modify cephfs quota test case X-Git-Tag: v0.91~21^2^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8063a1a63b8a5e92d3b654538c398b5396a6f7a;p=ceph.git test: modify cephfs quota test case Signed-off-by: Yunchuan Wen --- diff --git a/qa/workunits/fs/misc/quota.sh b/qa/workunits/fs/misc/quota.sh index 67319b7acb07..eb33618612ef 100755 --- a/qa/workunits/fs/misc/quota.sh +++ b/qa/workunits/fs/misc/quota.sh @@ -6,13 +6,30 @@ function expect_false() if "$@"; then return 1; else return 0; fi } +function write_file() +{ + set +x + for ((i=1;i<=$2;i++)) + do + dd if=/dev/zero of=$1 bs=1M count=1 conv=notrunc oflag=append 2>/dev/null >/dev/null + if [ $? != 0 ]; then + echo Try to write $(($i * 1048576)) + set -x + return 1 + fi + sleep 0.05 + done + set -x + return 0 +} + mkdir quota-test cd quota-test # bytes setfattr . -n ceph.quota.max_bytes -v 100000000 # 100m -expect_false dd if=/dev/zero of=big bs=1M count=1000 # 1g -expect_false dd if=/dev/zero of=second bs=1M count=10 +expect_false write_file big 1000 # 1g +expect_false write_file second 10 setfattr . -n ceph.quota.max_bytes -v 0 dd if=/dev/zero of=third bs=1M count=10 dd if=/dev/zero of=big2 bs=1M count=100 @@ -42,19 +59,15 @@ setfattr bytes -n ceph.quota.max_bytes -v 10000000 #10m setfattr bytes/files -n ceph.quota.max_files -v 5 dd if=/dev/zero of=bytes/files/1 bs=1M count=4 dd if=/dev/zero of=bytes/files/2 bs=1M count=4 -expect_false dd if=/dev/zero of=bytes/files/3 bs=1M count=1000 -expect_false dd if=/dev/zero of=bytes/files/4 bs=1M count=1000 -expect_false dd if=/dev/zero of=bytes/files/5 bs=1M count=1000 +expect_false write_file bytes/files/3 1000 +expect_false write_file bytes/files/4 1000 +expect_false write_file bytes/files/5 1000 stat --printf="%n %s\n" bytes/files/1 #4M stat --printf="%n %s\n" bytes/files/2 #4M stat --printf="%n %s\n" bytes/files/3 #bigger than 2M stat --printf="%n %s\n" bytes/files/4 #should be zero expect_false stat bytes/files/5 #shouldn't be exist -mv bytes/files . -dd if=/dev/zero of=files/3 bs=1M count=4 -dd if=/dev/zero of=files/4 bs=1M count=4 -expect_false dd if=/dev/zero of=files/5 bs=1M count=4 @@ -62,7 +75,7 @@ rm -rf * #mv mkdir files limit -dd if=/dev/zero of=files/file bs=1M count=100 +truncate files/file -s 10G setfattr limit -n ceph.quota.max_bytes -v 1000000 #1m expect_false mv files limit/ @@ -75,9 +88,36 @@ rm -rf * mkdir -p ancestor/p1/p2/parent/p3 setfattr ancestor -n ceph.quota.max_bytes -v 1000000 setfattr ancestor/p1/p2/parent -n ceph.quota.max_bytes -v 1000000000 #1g -expect_false dd if=/dev/zero of=ancestor/p1/p2/parent/p3/file1 bs=1M count=900 #900m +expect_false write_file ancestor/p1/p2/parent/p3/file1 900 #900m stat --printf="%n %s\n" ancestor/p1/p2/parent/p3/file1 + +#get/set attribute + +setfattr -n ceph.quota.max_bytes -v 0 . +setfattr -n ceph.quota.max_bytes -v 1 . +setfattr -n ceph.quota.max_bytes -v 9223372036854775807 . +expect_false setfattr -n ceph.quota.max_bytes -v 9223372036854775808 . +expect_false setfattr -n ceph.quota.max_bytes -v -1 . +expect_false setfattr -n ceph.quota.max_bytes -v -9223372036854775808 . +expect_false setfattr -n ceph.quota.max_bytes -v -9223372036854775809 . + +setfattr -n ceph.quota.max_files -v 0 . +setfattr -n ceph.quota.max_files -v 1 . +setfattr -n ceph.quota.max_files -v 9223372036854775807 . +expect_false setfattr -n ceph.quota.max_files -v 9223372036854775808 . +expect_false setfattr -n ceph.quota.max_files -v -1 . +expect_false setfattr -n ceph.quota.max_files -v -9223372036854775808 . +expect_false setfattr -n ceph.quota.max_files -v -9223372036854775809 . + +setfattr -n ceph.quota -v "max_bytes=0 max_files=0" . +setfattr -n ceph.quota -v "max_bytes=1 max_files=0" . +setfattr -n ceph.quota -v "max_bytes=0 max_files=1" . +setfattr -n ceph.quota -v "max_bytes=1 max_files=1" . +expect_false setfattr -n ceph.quota -v "max_bytes=-1 max_files=0" . +expect_false setfattr -n ceph.quota -v "max_bytes=0 max_files=-1" . +expect_false setfattr -n ceph.quota -v "max_bytes=-1 max_files=-1" . + #addme cd ..