xfs/207: explicitly test for xflag character
authorEric Sandeen <sandeen@redhat.com>
Thu, 7 Nov 2019 15:07:26 +0000 (09:07 -0600)
committerEryu Guan <guaneryu@gmail.com>
Sun, 10 Nov 2019 12:48:08 +0000 (20:48 +0800)
With a recent change to xfs_io[1], the fsxattr.xflags output line
has added another flag column, so xfs/207 starts failing.

Rather than testing for an exact set of flags, test whether the
specific flag we are interested in is set or unset.

[1] xfs_io/lsattr: expose FS_XFLAG_HASATTR flag

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Bill O'Donnell <billodo@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/207
tests/xfs/207.out

index e830534b92ee57754cccb26d09ac982cbc99736d..ed4e2e520869db5bc5a444644c47e76d8575fb96 100755 (executable)
@@ -37,6 +37,15 @@ _require_cp_reflink
 _require_xfs_io_command "fiemap"
 _require_xfs_io_command "cowextsize"
 
+# Takes the fsxattr.xflags line,
+# i.e. fsxattr.xflags = 0x0 [--------------C-]
+# and tests whether a flag character is set
+test_xflag()
+{
+    local flg=$1
+    grep -q "\[.*${flg}.*\]" && echo "$flg flag set" || echo "$flg flag unset"
+}
+
 rm -f $seqres.full
 
 echo "Format and mount"
@@ -73,14 +82,14 @@ echo "Set cowextsize and check flag"
 $XFS_IO_PROG -c "cowextsize 1048576" $testdir/file3 | _filter_scratch
 _scratch_cycle_mount
 
-$XFS_IO_PROG -c "stat" $testdir/file3 | grep 'fsxattr.xflags' | _filter_scratch
+$XFS_IO_PROG -c "stat" $testdir/file3 | grep 'fsxattr.xflags' | test_xflag "C"
 $XFS_IO_PROG -c "cowextsize" $testdir/file3 | _filter_scratch
 
 echo "Unset cowextsize and check flag"
 $XFS_IO_PROG -c "cowextsize 0" $testdir/file3 | _filter_scratch
 _scratch_cycle_mount
 
-$XFS_IO_PROG -c "stat" $testdir/file3 | grep 'fsxattr.xflags' | _filter_scratch
+$XFS_IO_PROG -c "stat" $testdir/file3 | grep 'fsxattr.xflags' | test_xflag "C"
 $XFS_IO_PROG -c "cowextsize" $testdir/file3 | _filter_scratch
 
 status=0
index f6dc17d1b7d42dcce3e0e1b78057132bb3a10eb8..dd2d095877bba18ded4fad2ab5428efc76c9dd92 100644 (file)
@@ -11,8 +11,8 @@ Check extsz and cowextsz settings on 1Mbyte file
 [0] SCRATCH_MNT/test-207/file2
 [1048576] SCRATCH_MNT/test-207/file2
 Set cowextsize and check flag
-fsxattr.xflags = 0x10000 [---------------C]
+C flag set
 [1048576] SCRATCH_MNT/test-207/file3
 Unset cowextsize and check flag
-fsxattr.xflags = 0x0 [----------------]
+C flag unset
 [0] SCRATCH_MNT/test-207/file3