Fix dynamic gang block headers on raidz and mirror devices

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Paul Dagnelie <paul.dagnelie@klarasystems.com>
Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Closes #17587
This commit is contained in:
Paul Dagnelie
2025-08-01 09:58:53 -07:00
committed by Brian Behlendorf
parent 8ecf044d62
commit 31c4fa93bb
4 changed files with 21 additions and 4 deletions
+2 -2
View File
@@ -2956,8 +2956,8 @@ zio_gang_tree_assemble(zio_t *gio, blkptr_t *bp, zio_gang_node_t **gnpp)
for (int dva = 0; dva < BP_GET_NDVAS(bp); dva++) {
vdev_t *vd = vdev_lookup_top(gio->io_spa,
DVA_GET_VDEV(&bp->blk_dva[dva]));
uint64_t asize = vdev_gang_header_asize(vd);
gangblocksize = MIN(gangblocksize, asize);
uint64_t psize = vdev_gang_header_psize(vd);
gangblocksize = MIN(gangblocksize, psize);
}
spa_config_exit(gio->io_spa, SCL_VDEV, FTAG);
} else {