glusterfs
1#!/bin/bash
2
3. $(dirname $0)/../../include.rc4. $(dirname $0)/../../volume.rc5. $(dirname $0)/../../nfs.rc6
7#G_TESTDEF_TEST_STATUS_CENTOS6=NFS_TEST
8
9function rename_loop()10{
11local i=012local limit=$113while [ $i -lt $limit ]14do15j=$[$i + 1]16mv $N0/test_dir/file$i $N0/test_dir/file$j17if [ "$?" != "0" ]18then19return 120fi21i=$[$i + 1]22done23return 024}
25
26function createFile_and_checkLimit()27{
28local count_val=$1;29dd if=/dev/zero of="$N0/test_dir/file0" bs=1048576 count=$count_val30sleep 331if [ -f $N0/test_dir/file0 ]32then33rename_loop 1034if [ "$?" == "0" ]35then36echo "Y"37else38echo "N"39fi40fi41}
42
43cleanup;44
45TEST glusterd
46
47TEST $CLI volume create $V0 $H0:$B0/${V0}1 $H0:$B0/${V0}248TEST $CLI volume set $V0 nfs.disable false49TEST $CLI volume start $V050
51TEST $CLI volume quota $V0 enable52EXPECT 'on' volinfo_field $V0 'features.quota'53
54EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;55TEST mount_nfs $H0:/$V0 $N0 nolock;56TEST mkdir -p $N0/test_dir/57
58# Try to rename file under various case and check if
59# quota limit exceeds or not.
60TEST $CLI volume quota $V0 limit-usage /test_dir 100MB61# Case1 : If used size is less than hard-limit size
62# Create a 600MB file
63EXPECT 'Y' createFile_and_checkLimit 6064
65TEST rm -rf $N0/test_dir/*66# Case2 : If used size is equal to hard-limit size
67# Create a 100MB file
68EXPECT 'Y' createFile_and_checkLimit 10069
70TEST rm -rf $N0/test_dir/*71# Case3 : If used size is greater than hard-limit size
72# Create a 110MB file
73EXPECT 'Y' createFile_and_checkLimit 11074
75# remove this directory as it has been created as part
76# of above testcase
77TEST rm -rf $N0/test_dir/78
79EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $N080
81cleanup;82