xfs
[Top] [All Lists]

[PATCH] xfstests: optionally run all tests under quota

To: xfs-oss <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfstests: optionally run all tests under quota
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Tue, 09 Feb 2010 13:26:31 -0600
Cc: ext4 development <linux-ext4@xxxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
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 <sandeen@xxxxxxxxxx>
---

diff --git a/common.rc b/common.rc
index 6424871..4fde921 100644
--- a/common.rc
+++ b/common.rc
@@ -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()

<Prev in Thread] Current Thread [Next in Thread>