]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
generic/066: attr1 is still there after log replay on f2fs
authorSun Ke <sunke32@huawei.com>
Wed, 23 Mar 2022 08:37:24 +0000 (16:37 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 10 Apr 2022 15:18:14 +0000 (23:18 +0800)
The test fail on f2fs:
     xattr names and values after second fsync log replay:
     # file: SCRATCH_MNT/foobar
    +user.attr1="val1"
     user.attr3="val3"

attr1 is still there after log replay. f2fs doesn't support fs-op level
transaction functionality. so it have no way to persist all metadata
updates in one transaction.  We can use "fastboot" mountoption for this
case, so during last fsync on qwerty, f2fs can trigger a checkpoint
which will persist all metadata updates before fsync().

Suggested-by: Chao Yu <chao@kernel.org>
Signed-off-by: Sun Ke <sunke32@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/066

index 105a7acd2cf91cd86e5c91d7bd107350da01cd03..d8a38655d3a821093ea96b2cd0ec2a7d31359af7 100755 (executable)
@@ -56,6 +56,14 @@ sync
 $SETFATTR_PROG -x user.attr2 $SCRATCH_MNT/foobar
 $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar
 
+# f2fs doesn't support fs-op level transaction functionality. so it have no way
+# to persist all metadata updates in one transaction.  We can use "fastboot"
+# mountoption for this case, so during last fsync on qwerty, f2fs can trigger a
+# checkpoint which will persist all metadata updates before fsync().
+if [ $FSTYP = "f2fs" ]; then
+       export MOUNT_OPTIONS="-o fastboot $MOUNT_OPTIONS"
+fi
+
 _flakey_drop_and_remount
 
 # After the fsync log is replayed, the file should have only 2 xattrs, the ones