On 2022/2/28 11:57, Sun Ke via Linux-f2fs-devel wrote:
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.
I guess it is f2fs's special feature to improve the performance.
Signed-off-by: Sun Ke <sunke32@xxxxxxxxxx>
---
Is it a BUG on f2fs?
I don't think so, it fails due to f2fs doesn't follow recovery rule which
btrfs/ext4/xfs does, but it doesn't mean f2fs has break posix semantics of
fsync().
Could you please try fastboot mountpoint? It may help to pass this testcase.
Thanks,
.gitignore | 1 +
tests/generic/066 | 3 +++
tests/generic/066.cfg | 1 +
tests/generic/{066.out => 066.out.default} | 0
tests/generic/066.out.f2fs | 11 +++++++++++
5 files changed, 16 insertions(+)
create mode 100644 tests/generic/066.cfg
rename tests/generic/{066.out => 066.out.default} (100%)
create mode 100644 tests/generic/066.out.f2fs
diff --git a/.gitignore b/.gitignore
index 65b93307..135742f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -194,6 +194,7 @@ tags
/src/perf/*.pyc
# Symlinked files
+/tests/generic/066.out
/tests/generic/035.out
/tests/generic/050.out
/tests/xfs/033.out
diff --git a/tests/generic/066 b/tests/generic/066
index 105a7acd..524dc82d 100755
--- a/tests/generic/066
+++ b/tests/generic/066
@@ -17,6 +17,7 @@
#
# Btrfs: remove deleted xattrs on fsync log replay
#
+seqfull=$0
. ./common/preamble
_begin_fstest auto quick attr metadata log
@@ -32,6 +33,8 @@ _cleanup()
. ./common/dmflakey
. ./common/attr
+# Select appropriate golden output based on fstype
+_link_out_file
# real QA test starts here
_supported_fs generic
_require_scratch
diff --git a/tests/generic/066.cfg b/tests/generic/066.cfg
new file mode 100644
index 00000000..c25641be
--- /dev/null
+++ b/tests/generic/066.cfg
@@ -0,0 +1 @@
+f2fs: f2fs
diff --git a/tests/generic/066.out b/tests/generic/066.out.default
similarity index 100%
rename from tests/generic/066.out
rename to tests/generic/066.out.default
diff --git a/tests/generic/066.out.f2fs b/tests/generic/066.out.f2fs
new file mode 100644
index 00000000..8fc58693
--- /dev/null
+++ b/tests/generic/066.out.f2fs
@@ -0,0 +1,11 @@
+QA output created by 066
+xattr names and values after first fsync log replay:
+# file: SCRATCH_MNT/foobar
+user.attr1="val1"
+user.attr3="val3"
+
+xattr names and values after second fsync log replay:
+# file: SCRATCH_MNT/foobar
+user.attr1="val1"
+user.attr3="val3"
+