ZTS: test response of various sync methods under different failmodes

These are all the same shape: set up the pool to suspend on first write,
then perform some write+sync operation. The pool should suspend, and the
sync operation should respond according to the failmode= property.

We test fsync(), msync() and two forms of write() (open with O_SYNC, and
async with sync=always), which all take slightly different paths to
zil_commit() and back.

A helper function is included to do the write+sync sequence with mmap()
and msync(), since I didn't find a convenient tool to do that.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #17398
This commit is contained in:
Rob Norris
2025-05-16 15:25:59 +10:00
committed by Brian Behlendorf
parent b270663e8a
commit 1f8c39ddb2
15 changed files with 541 additions and 2 deletions
+1
View File
@@ -210,6 +210,7 @@ export ZFSTEST_FILES='badsend
mmap_seek
mmap_sync
mmapwrite
mmap_write_sync
nvlist_to_lua
randfree_file
randwritecomp