aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2023-05-11 21:27:12 +0000
committerGitHub <noreply@github.com>2023-05-11 21:27:12 +0000
commit469019fb0b2b7ca4bd6c3de5c2f1056a4446f0e3 (patch)
treebf54403ad0b20652f8fa7cb5618514e331854cbc
parent14ba8ab97ddb3674351861ecf373125ac4e1dc63 (diff)
downloadsrc-469019fb0b2b7ca4bd6c3de5c2f1056a4446f0e3.tar.gz
src-469019fb0b2b7ca4bd6c3de5c2f1056a4446f0e3.zip
zil: Don't expect zio_shrink() to succeed.
At least for RAIDZ zio_shrink() does not reduce zio size, but reduced wsz in that case likely results in writing uninitialized memory. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored by: iXsystems, Inc. Closes #14853
-rw-r--r--module/zfs/zil.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/module/zfs/zil.c b/module/zfs/zil.c
index ec9da706a806..c37da89dd438 100644
--- a/module/zfs/zil.c
+++ b/module/zfs/zil.c
@@ -1866,6 +1866,7 @@ zil_lwb_write_issue(zilog_t *zilog, lwb_t *lwb)
wsz = P2ROUNDUP_TYPED(lwb->lwb_nused, ZIL_MIN_BLKSZ, uint64_t);
ASSERT3U(wsz, <=, lwb->lwb_sz);
zio_shrink(lwb->lwb_write_zio, wsz);
+ wsz = lwb->lwb_write_zio->io_size;
} else {
wsz = lwb->lwb_sz;