X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-quota.sh;h=0b5e2f34cea356c518a1ef8f96274c62dd3ca3a8;hp=a4a33bacb5dc4b53ead2c5150cda02d681b59cf6;hb=b54b7ce43929ce7ff6e48cd219623c264ca6b6b3;hpb=8f306f00c02e5455cef48d227f28e8cb90127719 diff --git a/lustre/tests/sanity-quota.sh b/lustre/tests/sanity-quota.sh index a4a33ba..0b5e2f3 100755 --- a/lustre/tests/sanity-quota.sh +++ b/lustre/tests/sanity-quota.sh @@ -2558,6 +2558,108 @@ test_15(){ } run_test 15 "Set over 4T block quota" +test_16a() +{ + (( $CLIENT_VERSION < $(version_code 2.14.55) )) && + skip "Not supported Lustre client before 2.14.55" + + setup_quota_test || error "setup quota failed with $?" + + $LFS setquota -u $TSTUSR -B 500M -I 10K $MOUNT || + error "failed to set quota for user $TSTUSR" + $LFS setquota -g $TSTUSR -B 500M -I 10K $MOUNT || + error "failed to set quota for group $TSTUSR" + + $RUNAS $DD of=$DIR/$tdir/$tfile bs=1M count=50 || + quota_error u $TSTUSR "write failure" + + $LFS quota -u $TSTUSR $MOUNT || + quota_error u $TSTUSR "failed to get quota" + + local OSC=$($LCTL dl | grep OST0000-osc-[^M] | awk '{print $4}') + + $LCTL --device %$OSC deactivate + stack_trap "$LCTL --device %$OSC activate" + + $LFS quota -v -u $TSTUSR $MOUNT || + quota_error u $TSTUSR "failed to get quota after deactivate OSC" + $LFS quota -v -g $TSTUSR $MOUNT || + quota_error g $TSTUSR "failed to get quota after deactivate OSC" + + (( $MDSCOUNT > 1 )) || return 0 + + local MDC=$($LCTL dl | grep MDT0001-mdc-[^M] | awk '{print $4}') + + $LCTL --device %$MDC deactivate + stack_trap "$LCTL --device %$MDC activate" + + $LFS quota -v -u $TSTUSR $MOUNT || + quota_error u $TSTUSR "failed to get quota after deactivate MDC" + $LFS quota -v -g $TSTUSR $MOUNT || + quota_error g $TSTUSR "failed to get quota after deactivate OSC" +} +run_test 16a "lfs quota should skip the inactive MDT/OST" + +cleanup_16b() +{ + stopall + formatall + setupall +} + +test_16b() +{ + (( $CLIENT_VERSION < $(version_code 2.14.55) )) && + skip "Not supported Lustre client before 2.14.55" + + (( $MDSCOUNT >= 3 )) || skip "needs >= 3 MDTs" + + stopall + if ! combined_mgs_mds ; then + format_mgs + start_mgs + fi + + add mds1 $(mkfs_opts mds1 $(mdsdevname 1)) --index=0 --reformat \ + $(mdsdevname 1) $(mdsvdevname 1) + add mds2 $(mkfs_opts mds2 $(mdsdevname 2)) --index=1 --reformat \ + $(mdsdevname 2) $(mdsvdevname 2) + add mds3 $(mkfs_opts mds3 $(mdsdevname 3)) --index=100 --reformat \ + $(mdsdevname 3) $(mdsvdevname 3) + + add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=0 --reformat \ + $(ostdevname 1) $(ostvdevname 1) + add ost2 $(mkfs_opts ost2 $(ostdevname 2)) --index=100 --reformat \ + $(ostdevname 2) $(ostvdevname 2) + + stack_trap cleanup_16b + + start mds1 $(mdsdevname 1) $MDS_MOUNT_OPTS || error "MDT1 start failed" + start mds2 $(mdsdevname 2) $MDS_MOUNT_OPTS || error "MDT2 start failed" + start mds3 $(mdsdevname 3) $MDS_MOUNT_OPTS || error "MDT3 start failed" + start ost1 $(ostdevname 1) $OST_MOUNT_OPTS || error "OST1 start failed" + start ost2 $(ostdevname 2) $OST_MOUNT_OPTS || error "OST2 start failed" + + mount_client $MOUNT || error "Unable to mount client" + + setup_quota_test || error "setup quota failed with $?" + stack_trap cleanup_quota_test EXIT + + $LFS setquota -u $TSTUSR -B 100M -I 10K $MOUNT || + error "failed to set quota for user $TSTUSR" + $LFS setquota -g $TSTUSR -B 100M -I 10K $MOUNT || + error "failed to set quota for group $TSTUSR" + + $RUNAS $DD of=$DIR/$tdir/$tfile bs=1M count=10 || + quota_error u $TSTUSR "write failure" + + cnt=$($LFS quota -v -u $TSTUSR $MOUNT | grep -ce "^$FSNAME-[MD|OS]T*") + [ $cnt -le 5 ] || quota_error u $TSTUSR "failed to get user quota" + cnt=$($LFS quota -v -g $TSTUSR $MOUNT | grep -ce "^$FSNAME-[MD|OS]T*") + [ $cnt -le 5 ] || quota_error g $TSTUSR "failed to get group quota" +} +run_test 16b "lfs quota should skip the nonexistent MDT/OST" + test_17sub() { local err_code=$1 local BLKS=1 # 1M less than limit