generic/506: fix _require test, use xfs_io vs chattr
authorEric Sandeen <sandeen@redhat.com>
Fri, 8 May 2020 03:25:51 +0000 (22:25 -0500)
committerEryu Guan <guaneryu@gmail.com>
Sun, 17 May 2020 15:59:16 +0000 (23:59 +0800)
_require_prjquota doesn't work on xfs unless the scratch device has
been mounted with project quota, so do that prior to the test.

older chattr/lsattr don't understand project quotas, so use xfs_io
instead for compatibility on older systems.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/506

index e8d0ca241dc35a7ecfe37629a573152ea71e5da9..2eb82a034f6c3bb643d1eb197da4df6820b61ea1 100755 (executable)
@@ -43,15 +43,13 @@ rm -f $seqres.full
 _supported_fs generic
 _supported_os Linux
 
-_require_command "$LSATTR_PROG" lsattr
-_require_command "$CHATTR_PROG" chattr
-
 _require_scratch
 _require_scratch_shutdown
 
 _scratch_mkfs >/dev/null 2>&1
 _require_metadata_journaling $SCRATCH_DEV
-_scratch_mount
+_qmount_option "prjquota"
+_qmount
 _require_prjquota $SCRATCH_DEV
 _scratch_unmount
 
@@ -67,16 +65,16 @@ do_check()
                sync
        fi
 
-       $CHATTR_PROG -p 100 $testfile
+       $XFS_IO_PROG -x -c "chproj 100" $testfile
 
-       before=`$LSATTR_PROG -p $testfile`
+       before=`$XFS_IO_PROG -x -c "lsproj" $testfile`
 
        $XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
 
        _scratch_shutdown | tee -a $seqres.full
        _scratch_cycle_mount
 
-       after=`$LSATTR_PROG -p $testfile`
+       after=`$XFS_IO_PROG -x -c "lsproj" $testfile`
 
        # check inode's project quota id
        if [ "$before" != "$after" ]; then