All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfs/131: test iomap zero range via fsx and error tag
@ 2025-08-07 14:56 Brian Foster
  2025-08-11 18:19 ` Zorro Lang
  2025-08-11 18:24 ` Zorro Lang
  0 siblings, 2 replies; 5+ messages in thread
From: Brian Foster @ 2025-08-07 14:56 UTC (permalink / raw)
  To: fstests

iomap supports a zero range operation based on buffered writes. This
mechanism is used in limited spots, such as partial block zeroing,
etc., because usually for larger zeroing ops it is more efficient to
punch a hole and allocate unwritten extents.

This means iomap zero range has limited production test coverage
even though it has some particular corner cases that warrant test
coverage. XFS supports an error injection knob to force use of iomap
zero range on fallocate zero range operations. Add a test to run fsx
with this knob enabled to provide more zeroing test coverage.

Signed-off-by: Brian Foster <bfoster@redhat.com>
---

FYI, this test is intended to go along with this patch[1] that
introduces the errortag.

[1] https://lore.kernel.org/linux-fsdevel/20250807144711.564137-8-bfoster@redhat.com/

 tests/xfs/131     | 26 ++++++++++++++++++++++++++
 tests/xfs/131.out |  2 ++
 2 files changed, 28 insertions(+)
 create mode 100755 tests/xfs/131
 create mode 100644 tests/xfs/131.out

diff --git a/tests/xfs/131 b/tests/xfs/131
new file mode 100755
index 00000000..eb8882a3
--- /dev/null
+++ b/tests/xfs/131
@@ -0,0 +1,26 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Red Hat, Inc..  All Rights Reserved.
+#
+# FS QA Test 131
+#
+# Run fsx with XFS force_zero_range error injection enabled. This is a proxy
+# test for iomap zero range. Zero range is used in limited cases by default,
+# such as EOF zeroing on file extension, etc. This error tag forces use of iomap
+# zero range for fallocate zero range operations.
+#
+. ./common/preamble
+_begin_fstest auto quick zero
+
+# Import common functions.
+. ./common/inject
+
+# Modify as appropriate.
+_require_test
+_require_xfs_io_error_injection "force_zero_range"
+
+_test_inject_error "force_zero_range"
+run_fsx "-q -S 0 -N 100000"
+
+# success, all done
+_exit 0
diff --git a/tests/xfs/131.out b/tests/xfs/131.out
new file mode 100644
index 00000000..2ca0d932
--- /dev/null
+++ b/tests/xfs/131.out
@@ -0,0 +1,2 @@
+QA output created by 131
+fsx -q -S 0 -N 100000
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-12  8:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-07 14:56 [PATCH] xfs/131: test iomap zero range via fsx and error tag Brian Foster
2025-08-11 18:19 ` Zorro Lang
2025-08-11 19:19   ` Brian Foster
2025-08-12  8:28     ` Zorro Lang
2025-08-11 18:24 ` Zorro Lang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.