ZIL: Replay blocks without next block pointer.
commitbb31ded68b269fb222bfbc9e9bf56d236ca908f4
authorAlexander Motin <mav@FreeBSD.org>
Fri, 11 Aug 2023 16:04:44 +0000 (11 12:04 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 25 Aug 2023 18:58:44 +0000 (25 11:58 -0700)
treeece0ddcc34b8a205862be13010e427124ad26e7f
parentc1801cbe59dfc99ba7aa34f09c0b6b8f35bb2d8f
ZIL: Replay blocks without next block pointer.

If we get next block allocation error during log write, we trigger
transaction commit.  But the block we have just completed is still
written and transactions it covers will be acknowledged normally.
If after that we ignore the block during replay just because it is
the last in the chain, we may not replay some transactions that we
have acknowledged as synced, that is not right.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15132
module/zfs/zil.c