Files
apfstests/tests/xfs/261
T
Darrick J. Wong 7e98d41a6e fstests: move test group info to test files
Refactor every test in the entire test suite to use the new boilerplate
functions.  This also migrates all the test group information into the
test files.  This patch has been autogenerated via the command:

./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-06-27 22:50:02 +08:00

98 lines
2.2 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2011 SGI. All Rights Reserved.
#
# FS QA Test No. 261
#
# This test exercises an issue in libxcmd where a problem with any
# mount point or project quota directory causes the program to exit
# complete. The effect of this is that one cannot operate on any
# directory, even if the problem directory is completely unrelated
# to the directory one wants to operate on.
#
. ./common/preamble
_begin_fstest auto quick quota
my_mtab=${tmp}.mtab
mtab=/proc/self/mounts
# Override the default cleanup function.
_cleanup()
{
cd /
rm -f ${tmp}.*
}
# Import common functions.
. ./common/filter
. ./common/quota
echo "Silence is golden."
# real QA test starts here
# Modify as appropriate.
_supported_fs xfs
_require_quota
_require_scratch
_scratch_mkfs >> $seqres.full 2>&1
# Just use the current mount table as an example mtab file. Odds
# are good there's nothing wrong with it.
_setup_my_mtab() {
cp "${mtab}" "${my_mtab}"
}
# Any bogus entry in the mtab file is enough to trigger the problem.
# So just append a bogus entry at the end of the private mtab file.
# This matches an actually-observed entry in a mount table (with a
# few characters in the paths changed to protect the innocent).
_perturb_my_mtab() {
cat <<-! >> "${my_mtab}"
/dev/disk/by-id/scsi-3600508e000000000c329ba1d8b0c391b-part3 /tmp/autoY8qcJ9\040(deleted) xfs rw 0 0
!
}
_check() {
if [ $# -eq 0 ]; then
export MOUNT_OPTIONS=""
elif [ $# -eq 1 ]; then
[ $1 = u -o $1 = g -o $1 = p ] || exit
export MOUNT_OPTIONS="-o${1}quota"
else
exit
fi
_qmount
# Set up a private mount table file, then try out a simple quota
# command to show mounts
_setup_my_mtab
echo print | xfs_quota -t "${my_mtab}" > /dev/null || exit
# Do the same simple quota command after adding a bogus entry to the
# mount table. Old code will bail on this because it has trouble
# with the bogus entry.
_perturb_my_mtab
echo print | xfs_quota -t "${my_mtab}" > /dev/null || exit
}
#########
# Mount SCRATCH with no quota options
_check
# user quota enabled
_check u
# group quota enabled
_check g
# user quota enabled
_check p
status=0 # success, all done