[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1754833177.git.ojaswin@linux.ibm.com>
Date: Sun, 10 Aug 2025 19:11:51 +0530
From: Ojaswin Mujoo <ojaswin@...ux.ibm.com>
To: Zorro Lang <zlang@...hat.com>, fstests@...r.kernel.org
Cc: Ritesh Harjani <ritesh.list@...il.com>, djwong@...nel.org,
john.g.garry@...cle.com, tytso@....edu, linux-xfs@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: [PATCH v4 00/11] Add more tests for multi fs block atomic writes
Changes in v4: (Thanks to Darrick, John and Zorro for the reviews)
- g/1226,1227: Modify fio threads to not issue overlapping atomic writes
- g/1228: Use xfs_io -c "shutdown" instead of _scratch_shutdown to avoid
bash overhead
- g/1229: Remove FSX_AVOID handling for bigalloc from common/rc. It is
part of the specific test now
- ext4/063: add more clearer extent diagram
- ext4/064: Drop the test for now as im taking sometime to understand
the behavior better.
- Removed test numbers from commit message
- For tests with significant changes I've removed the RVBs
Changes in v3 [3]:
- (2/13) use dumpe2fs to figure out if FS is bigalloc
- (9/13) generic/1230: Detect device speeds for more accurate testing. ALso
speeds up the test
- fio tests - switch to write followed by verify approach to avoid false
failures due to fio verify reads splitting and racing with atomic
writes. Discussion thread:
https://lore.kernel.org/fstests/0430bd73-e6c2-4ce9-af24-67b1e1fa9b5b@oracle.com/
[3] https://lore.kernel.org/fstests/cover.1752329098.git.ojaswin@linux.ibm.com/
Changes in v2 [1]:
- (1/13) new patch with _min and _max helpers
- (2/13) remove setup_fs_options and add fsx specifc helper
- (4/13) skip atomic write instead of falling back to normal write (fsx)
- (4/13) make atomic write default on instead of default off (fsx)
- (5,6/13) refactor and cleanup fio tests
- (7/13) refactored common code
- (8/13) dont ignore mmap writes for fsx with atomic writes
- (9/13) use od instead of xxd. handle cleanup of bg threads in _cleanup()
- (10-13/13) minor refactors
- change all tests use _fail for better consistency
- use higher tests numbers for easier merging
[1] https://lore.kernel.org/fstests/cover.1750924903.git.ojaswin@linux.ibm.com/
* Original cover [2] *
These are the tests we were using to verify that filesystems are not
tearing multi fs block atomic writes. Infact some of the tests like
generic/772 (now: g/1230) actually helped us catch and fix issues in
ext4's early implementations of multi fs block atomic writes and hence
we feel these tests are useful to have in xfstests.
We have tested these with scsi debug as well as a real nvme device
supporting multi fs block atomic writes.
Thoughts and suggestions are welcome!
[2] rfc: https://lore.kernel.org/fstests/cover.1749629233.git.ojaswin@linux.ibm.com/
Ojaswin Mujoo (9):
common/rc: Add _min() and _max() helpers
common/rc: Add a helper to run fsx on a given file
ltp/fsx.c: Add atomic writes support to fsx
generic: Add atomic write test using fio crc check verifier
generic: Add atomic write test using fio verify on file mixed mappings
generic: Add atomic write multi-fsblock O_[D]SYNC tests
generic: Stress fsx with atomic writes enabled
generic: Add sudden shutdown tests for multi block atomic writes
ext4: Atomic write test for extent split across leaf nodes
Ritesh Harjani (IBM) (2):
ext4: Atomic writes stress test for bigalloc using fio crc verifier
ext4: Atomic writes test for bigalloc using fio crc verifier on
multiple files
common/rc | 45 ++++-
ltp/fsx.c | 109 ++++++++++-
tests/ext4/061 | 130 ++++++++++++++
tests/ext4/061.out | 2 +
tests/ext4/062 | 176 ++++++++++++++++++
tests/ext4/062.out | 2 +
tests/ext4/063 | 129 +++++++++++++
tests/ext4/063.out | 2 +
tests/generic/1226 | 107 +++++++++++
tests/generic/1226.out | 2 +
tests/generic/1227 | 131 ++++++++++++++
tests/generic/1227.out | 2 +
tests/generic/1228 | 137 ++++++++++++++
tests/generic/1228.out | 2 +
tests/generic/1229 | 68 +++++++
tests/generic/1229.out | 2 +
tests/generic/1230 | 397 +++++++++++++++++++++++++++++++++++++++++
tests/generic/1230.out | 2 +
18 files changed, 1437 insertions(+), 8 deletions(-)
create mode 100755 tests/ext4/061
create mode 100644 tests/ext4/061.out
create mode 100755 tests/ext4/062
create mode 100644 tests/ext4/062.out
create mode 100755 tests/ext4/063
create mode 100644 tests/ext4/063.out
create mode 100755 tests/generic/1226
create mode 100644 tests/generic/1226.out
create mode 100755 tests/generic/1227
create mode 100644 tests/generic/1227.out
create mode 100755 tests/generic/1228
create mode 100644 tests/generic/1228.out
create mode 100755 tests/generic/1229
create mode 100644 tests/generic/1229.out
create mode 100755 tests/generic/1230
create mode 100644 tests/generic/1230.out
--
2.49.0
Powered by blists - more mailing lists