]> git.proxmox.com Git - mirror_zfs.git/commitdiff
zil: Don't expect zio_shrink() to succeed.
authorAlexander Motin <mav@FreeBSD.org>
Thu, 11 May 2023 21:27:12 +0000 (17:27 -0400)
committerGitHub <noreply@github.com>
Thu, 11 May 2023 21:27:12 +0000 (14:27 -0700)
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

module/zfs/zil.c

index ec9da706a8063ad68bb6242c73c83eae76350bff..c37da89dd438103b0c8a3a2a1c7b7ebda36c9184 100644 (file)
@@ -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;