mirror_zfs/lib
Alexander Motin f70c85086b
BRT: Fix ZAP entry endianness
During original block cloning implementation a mistake was made,
making BRT ZAP entries an array of 8 1-byte entries instead of 1
entry of 8 bytes. This makes the pools non-endian-safe.

This commit introduces a new read-compatible pool feature
"com.truenas:block_cloning_endian", fixing the endianness issue
for new pools while maintaining compatibility with existing ones.

The feature is automatically activated when creating the first BRT
ZAP (ensuring we don't activate it on pools that already have BRT
entries in the old format).  When active, BRT entries are stored
as single 8-byte values.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <alexander.motin@TrueNAS.com>
Closes #17572
2025-07-30 09:42:47 -07:00
..
libavl cppcheck: explicitly exclude kernel code from userspace checks 2022-05-10 10:20:55 -07:00
libefi SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libicp icp: remove skein module 2024-05-31 15:13:39 -07:00
libnvpair nvlist: Add nvlist_snprintf() and zfs_dbgmsg_nvlist() 2025-04-18 09:22:16 -04:00
libshare SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
libspl everywhere: misc unnecessary var init/update 2025-07-22 15:23:58 -07:00
libtpool SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libunicode module: unicode: remove unused uconv.c 2024-11-01 12:12:13 -07:00
libuutil zpool/zfs: Add '-a|--all' option to scrub, trim, initialize 2025-07-29 14:50:44 -07:00
libzdb Provide macros for setting and getting blkptr birth times 2024-03-25 15:01:54 -07:00
libzfs BRT: Fix ZAP entry endianness 2025-07-30 09:42:47 -07:00
libzfs_core zpool/zfs: Add '-a|--all' option to scrub, trim, initialize 2025-07-29 14:50:44 -07:00
libzfsbootenv nvlist: Add nvlist_snprintf() and zfs_dbgmsg_nvlist() 2025-04-18 09:22:16 -04:00
libzpool everywhere: misc unnecessary var init/update 2025-07-22 15:23:58 -07:00
libzstd libzstd: also build with LIBZPOOL_CPPFLAGS 2024-09-09 14:13:27 -07:00
libzutil SPDX: license tags: BSD-3-Clause 2025-03-13 17:56:50 -07:00
Makefile.am libzdb: Initial breakout of libzdb 2024-02-05 10:00:41 -08:00