zfs/module
Rob Norris 97b5e0bbbd zil_fail: handle failure when previous failure not cleaned up yet
After the ZIL is reopened, itxs created before the failure are held on
the failure itxg until the cleaner thread comes through and cleans them
up by calling zil_clean(). That's an asynchronous job, so may not run
immediately.

Previously, if the ZIL fails again while there are still itxs on the
fail list, it would trip assertions in debug mode, and in production,
the itx list would be leaked and the previous outstanding fsync() calls
would be lost.

This commit makes it so that if the ZIL fails before the previous
failure has been cleaned up, it will be immediately cleaned up before
being filled with currently outstanding itxs.

Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
2023-09-07 18:54:11 +00:00
..
avl Fix various typos 2021-04-07 13:27:11 -07:00
icp Fix functions without a prototype 2022-05-20 10:33:24 -07:00
lua Silence -Winfinite-recursion warning in luaD_throw() 2023-07-31 15:05:56 +00:00
nvpair Update `checkstyle` workflow env to ubuntu-20.04 2021-12-08 13:27:56 -08:00
os Revert debug code from bio-seg-limit 2023-08-10 19:10:59 +00:00
spl Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
unicode Update `checkstyle` workflow env to ubuntu-20.04 2021-12-08 13:27:56 -08:00
zcommon compress: add "slack" compression options 2023-07-05 13:27:31 +00:00
zfs zil_fail: handle failure when previous failure not cleaned up yet 2023-09-07 18:54:11 +00:00
zstd module: zstd: check we don't leak symbols; regenerate symbol map 2022-05-16 15:48:21 -07:00
.gitignore Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
Kbuild.in Add a JSON equivalent to zpool-status(8) 2023-07-05 13:27:30 +00:00
Makefile.bsd compress: add "slack" compression options 2023-07-05 13:27:31 +00:00
Makefile.in Add support for $KERNEL_{CC,LD,LLVM} variables 2022-02-16 17:58:55 -08:00