mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-01-14 17:22:05 +03:00
zdb: Fix asize overflow in verify_livelist_allocs()
Spacemap entry might be too big to fit into a block pointer ashift. We hit an assertion trying to run `zdb -bvy` on a large pool. But it seems the code does not really need size there, since we only need to search for a range of offsets, so setting it to zero should just make btree return position just before the first entry. I suspect the previous code could actually miss the first entry due to this if its size was smaller. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com> Closes #17764
This commit is contained in:
parent
81ceee0cff
commit
9f2cbea1dc
@ -381,7 +381,7 @@ verify_livelist_allocs(metaslab_verify_t *mv, uint64_t txg,
|
||||
sublivelist_verify_block_t svb = {{{0}}};
|
||||
DVA_SET_VDEV(&svb.svb_dva, mv->mv_vdid);
|
||||
DVA_SET_OFFSET(&svb.svb_dva, offset);
|
||||
DVA_SET_ASIZE(&svb.svb_dva, size);
|
||||
DVA_SET_ASIZE(&svb.svb_dva, 0);
|
||||
zfs_btree_index_t where;
|
||||
uint64_t end_offset = offset + size;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user