mirror_zfs/module
Alexander Motin 4abc21b28c
Block remap for cloned blocks on device removal
When after device removal we handle block pointers remap, skip blocks
that might be cloned.  BRTs are indexed by vdev id and offset from
block pointer's DVA[0].  So if we start addressing the same block by
some different DVA, we won't get the proper reference counter.  As
result, we might either remap the block twice, that may result in
assertion during indirect mapping condense, or free it prematurely,
that may result in data overwrite, or free it twice, that may result
in assertion in spacemap code.

Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:  Alexander Motin <mav@FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15604
Closes #17180
2025-03-26 16:45:34 -07:00
..
avl SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
icp SPDX: license tags: LicenseRef-OpenZFS-ThirdParty-PublicDomain 2025-03-13 17:57:31 -07:00
lua SPDX: license tags: MIT 2025-03-13 17:56:54 -07:00
nvpair SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
os Linux: Fix zfs_prune panics v2 (#17121) 2025-03-25 15:20:16 -07:00
unicode SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zcommon SPDX: license tags: BSD-2-Clause OR GPL-2.0-only 2025-03-13 17:57:21 -07:00
zfs Block remap for cloned blocks on device removal 2025-03-26 16:45:34 -07:00
zstd SPDX: license tags: BSD-3-Clause OR GPL-2.0-only 2025-03-13 17:57:17 -07:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in vdev_file: unify FreeBSD and Linux implementations (#17046) 2025-02-20 10:42:42 -08:00
Makefile.bsd vdev_file: unify FreeBSD and Linux implementations (#17046) 2025-02-20 10:42:42 -08:00
Makefile.in Fix "make install" with DESTDIR set (#16995) 2025-02-07 16:38:58 -08:00