| #! /bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2013 Oracle, Inc. All Rights Reserved. |
| # |
| # FS QA Test No. 305 |
| # |
| # Test to verify that turn group/project quotas off while fstress and |
| # user quotas are left on. |
| # |
| . ./common/preamble |
| _begin_fstest auto quota |
| |
| # Import common functions. |
| . ./common/filter |
| . ./common/quota |
| |
| # Modify as appropriate. |
| _supported_fs xfs |
| |
| _require_scratch |
| _require_xfs_quota |
| _require_xfs_mkfs_crc |
| _require_xfs_crc |
| _require_command "$KILLALL_PROG" killall |
| |
| _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 |
| |
| _qmount_option "uquota,gquota,pquota" |
| |
| QUOTA_DIR=$SCRATCH_MNT/quota_dir |
| |
| _exercise() |
| { |
| type=$1 |
| |
| _qmount |
| mkdir -p $QUOTA_DIR |
| |
| $FSSTRESS_PROG -d $QUOTA_DIR -n 1000000 -p 100 $FSSTRESS_AVOID >/dev/null 2>&1 & |
| sleep 10 |
| $XFS_QUOTA_PROG -x -c "disable -$type" $SCRATCH_DEV |
| sleep 5 |
| $KILLALL_PROG -q $FSSTRESS_PROG |
| wait |
| } |
| |
| echo "*** turn off group quotas" |
| _exercise g |
| echo "*** done" |
| |
| echo "*** turn off project quotas" |
| _exercise p |
| echo "*** done" |
| |
| echo "*** turn off group/project quotas" |
| _exercise gp |
| echo "*** done" |
| |
| # success, all done |
| status=0 |
| exit |