common/quota: Make project quota handling work for ext2 & ext3
authorJan Kara <jack@suse.cz>
Mon, 14 May 2018 17:03:49 +0000 (19:03 +0200)
committerEryu Guan <guaneryu@gmail.com>
Wed, 16 May 2018 06:00:25 +0000 (14:00 +0800)
Project quota can work for ext2 & ext3 the same way as for ext4.
Handle them properly as currently the tests just fail because of
unknown prjquota mount option. After this patch, tests will be "not
run" because ext4 driver refuses to use project quota mount options
for "old" fs types.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/quota

index f8e037995ad401cb5fda5adaa9897591bfd0bfd3..2b99521df43d7c2d53821f8e1207389a34f782e4 100644 (file)
@@ -90,9 +90,9 @@ _require_xfs_quota_foreign()
 _require_prjquota()
 {
     [ -n "$1" ] && _dev="$1" || _dev="$TEST_DEV"
-    if [ "$FSTYP" == "ext4" ]; then
+    if [[ "$FSTYP" == ext[234] ]]; then
        dumpe2fs -h $_dev 2>&1 | grep -qw project || \
-               _notrun "Project quota not available on this ext4"
+               _notrun "Project quota not available on this $FSTYP"
     fi
     src/feature -P $_dev
     [ $? -ne 0 ] && _notrun "Installed kernel does not support project quotas"
@@ -116,7 +116,7 @@ _require_getnextquota()
 # prior to mount.  This is a relatively new feature ...
 _scratch_enable_pquota()
 {
-       [ "$FSTYP" != "ext4" ] && return
+       [[ "$FSTYP" != ext[234] ]] && return
 
        tune2fs -O quota,project $SCRATCH_DEV >>$seqres.full 2>&1
        _try_scratch_mount >/dev/null 2>&1 \
@@ -242,7 +242,7 @@ _qmount_option()
 
        # ext4 doesn't _do_ "-o pquota/prjquota" because reasons
        # Switch it to "quota" to enable mkfs-time pquota
-       if [ "$FSTYP" == "ext4" ]; then
+       if [[ "$FSTYP" == ext[234] ]]; then
                OPTS=`echo $OPTS \
                | sed   -e 's/\bpquota/quota/g' \
                        -e 's/prjquota/quota/g'`