xfstests: optionally run all tests under quota
PATCH 1/1 xfstests: optionally run all tests under quota
This patch might be a little heavy handed, but it seems to work; if you set USE_QUOTA=1 in your environment, all tests should be run with quota on and enabled.
This will hopefully help shake out some of the ext4 quota problems, although one needs to keep an eye on the console to see whether warnings scroll by.
---
common.rc +28 -0
@@ -64,6 +64,9 @@ _mount_opts() *) ;; esac + if [ ! -z "$USE_QUOTA" ]; then + export MOUNT_OPTIONS="$MOUNT_OPTIONS -o usrquota,grpquota" + fi } _mkfs_opts()
@@ -161,6 +164,10 @@ _test_options() type=$1 TEST_OPTIONS="" + if [ ! -z "$USE_QUOTA" ]; then + TEST_OPTIONS="-o usrquota,grpquota" + fi + if [ "$FSTYP" != "xfs" ]; then return fi
@@ -202,6 +209,25 @@ _mount_ops_filter() } +_setup_quota() +{ + mountpoint=$1 + if [ ! -z "$USE_QUOTA" ]; then + case $FSTYP in + xfs) + ;; + ext*|reiserfs) + quotaoff $mountpoint &>/dev/null + quotacheck -u -g $mountpoint + quotaon $mountpoint + ;; + *) + _fail "Don't know how to turn on quota on $FSTYP" + ;; + esac + fi +} + _scratch_mount_options() { _scratch_options mount
@@ -212,6 +238,7 @@ _scratch_mount_options() _scratch_mount() { _mount -t $FSTYP `_scratch_mount_options $*` + _setup_quota $SCRATCH_MNT } _scratch_unmount()
@@ -229,6 +256,7 @@ _test_mount() { _test_options mount _mount -t $FSTYP $TEST_OPTIONS $TEST_FS_MOUNT_OPTS $* $TEST_DEV $TEST_DIR + _setup_quota $TEST_DIR } _scratch_mkfs_options()
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 3 lines · Eric Sandeen
This patch might be a little heavy handed, but it seems to work; if you set USE_QUOTA=1 in your environment, all tests should be run with quota on and enabled.
I'd rather prefer a -quota option to ./check than a magic environment variable.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
common.rc
Quoted 17 lines · Eric Sandeen
This patch might be a little heavy handed, but it seems to work; if you set USE_QUOTA=1 in your environment, all tests should be run with quota on and enabled.
This will hopefully help shake out some of the ext4 quota problems, although one needs to keep an eye on the console to see whether warnings scroll by.
Signed-off-by Eric Sandeen <[email protected]>---
common.rc +0
-0
Looks good
Eric,
This patch has been committed to git://oss.sgi.com/xfs/cmds/xfstests, master branch, commit ID edd6bcf9.
Thanks
--Rich
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 21 lines · Rich Johnston
common.rc
Quoted 17 lines · Eric Sandeen
This patch might be a little heavy handed, but it seems to work; if you set USE_QUOTA=1 in your environment, all tests should be run with quota on and enabled.
This will hopefully help shake out some of the ext4 quota problems, although one needs to keep an eye on the console to see whether warnings scroll by.
Signed-off-by Eric Sandeen <[email protected]>---
common.rc +0
-0Looks good
Quoted 7 lines
Reviewed-by Rich Johnston <[email protected]>Eric,
This patch has been committed to
git://oss.sgi.com/xfs/cmds/xfstests, master branch, commit IDedd6bcf9.
And here's the problem with committing 2 year old patches without review:
$ grep "Can't initialize the DMAPI" [0-9]* | uniq 142.out.bad:Can't initialize the DMAPI 143.out.bad:Can't initialize the DMAPI 144.out.bad:Can't initialize the DMAPI 145.out.bad:Can't initialize the DMAPI 146.out.bad:Can't initialize the DMAPI 147.out.bad:Can't initialize the DMAPI 150.out.bad:Can't initialize the DMAPI 155.out.bad:Can't initialize the DMAPI 156.out.bad:Can't initialize the DMAPI 157.out.bad:Can't initialize the DMAPI 158.out.bad:Can't initialize the DMAPI 161.out.bad:Can't initialize the DMAPI 168.out.bad:Can't initialize the DMAPI 175.out.bad:Can't initialize the DMAPI 176.out.bad:Can't initialize the DMAPI 185.out.bad:Can't initialize the DMAPI
This breaks the dmapi mount error detection, and hence whether dmapi is enabled or not in the kernel. The problem is this:
@@ -251,6 +277,7 @@ _scratch_mount_options()
_scratch_mount()
{
_mount -t $FSTYP _scratch_mount_options $*
+ _setup_quota $SCRATCH_MNT
}
means that callers no longer can check is the mount succeeded or not by looking at the return of _scratch_mount(). Hence this code:
_dmapi_scratch_mount () {
if [ echo "$MOUNT_OPTIONS" | grep -c dmapi -gt 0 -o \
echo "$MOUNT_OPTIONS" | grep -c dmi -gt 0 ] ; then #already got dmapi options set _scratch_mount
dmapi_mount_result=$?
else
_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" dmapi_mount_result=$?
fi
if [ $dmapi_mount_result -ne 0 ] ; then
_notrun "Assuming DMAPI modules are not loaded"
fi
}
now fails to detect that mounts fail.
Can we revert this commit for now? If we really need this functionality someone can fix the original patch and re-propose it...
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs