From ae1d11882d10afb388e749684f8020b38de8504a Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Thu, 21 Nov 2024 11:20:22 -0500 Subject: [PATCH] BRT: Clear bv_entcount_dirty on destroy This fixes assertion in brt_sync_table() on debug builds when last cloned block on the vdev is freed and bv_meta_dirty is cleared, while bv_entcount_dirty is not. Should not matter in production. Reviewed-by: Brian Behlendorf Signed-off-by: Alexander Motin Sponsored by: iXsystems, Inc. Closes #16791 --- module/zfs/brt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/module/zfs/brt.c b/module/zfs/brt.c index c48527db7..9afee4e20 100644 --- a/module/zfs/brt.c +++ b/module/zfs/brt.c @@ -642,6 +642,7 @@ brt_vdev_destroy(spa_t *spa, brt_vdev_t *brtvd, dmu_tx_t *tx) BRT_DEBUG("MOS BRT VDEV destroyed, object=%llu", (u_longlong_t)brtvd->bv_mos_brtvdev); brtvd->bv_mos_brtvdev = 0; + brtvd->bv_entcount_dirty = FALSE; snprintf(name, sizeof (name), "%s%llu", BRT_OBJECT_VDEV_PREFIX, (u_longlong_t)brtvd->bv_vdevid);