Hi Andrey, Please pull this branch with changes for xfsprogs for 6.14-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. The following changes since commit d3fc26fa2ac96c39836884525065f5d47dda8b05: mkfs: create the realtime rmap inode (2025-02-25 09:16:01 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/realtime-reflink-6.14_2025-02-25 for you to fetch changes up to 17408f8871e100b2987174b6cf480ee68e44e1a3: mkfs: enable reflink on the realtime device (2025-02-25 09:16:02 -0800) ---------------------------------------------------------------- xfsprogs: reflink on the realtime device [v6.6 5/7] This patchset enables use of the file data block sharing feature (i.e. reflink) on the realtime device. It follows the same basic sequence as the realtime rmap series -- first a few cleanups; then introduction of the new btree format and inode fork format. Next comes enabling CoW and remapping for the rt device; new scrub, repair, and health reporting code; and at the end we implement some code to lengthen write requests so that rt extents are always CoWed fully. Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> ---------------------------------------------------------------- Darrick J. Wong (22): libxfs: compute the rt refcount btree maxlevels during initialization libxfs: add a realtime flag to the refcount update log redo items libxfs: apply rt extent alignment constraints to CoW extsize hint libfrog: enable scrubbing of the realtime refcount data man: document userspace API changes due to rt reflink xfs_db: display the realtime refcount btree contents xfs_db: support the realtime refcountbt xfs_db: copy the realtime refcount btree xfs_db: add rtrefcount reservations to the rgresv command xfs_spaceman: report health of the realtime refcount btree xfs_repair: allow CoW staging extents in the realtime rmap records xfs_repair: use realtime refcount btree data to check block types xfs_repair: find and mark the rtrefcountbt inode xfs_repair: compute refcount data for the realtime groups xfs_repair: check existing realtime refcountbt entries against observed refcounts xfs_repair: reject unwritten shared extents xfs_repair: rebuild the realtime refcount btree xfs_repair: allow realtime files to have the reflink flag set xfs_repair: validate CoW extent size hint on rtinherit directories xfs_logprint: report realtime CUIs mkfs: validate CoW extent size hint when rtinherit is set mkfs: enable reflink on the realtime device db/bmroot.h | 2 + db/btblock.h | 5 + db/field.h | 6 + db/type.h | 1 + libxfs/libxfs_api_defs.h | 14 ++ repair/incore.h | 1 + repair/rmap.h | 15 +- repair/rt.h | 4 + repair/scan.h | 33 ++++ db/bmroot.c | 135 +++++++++++++++ db/btblock.c | 53 ++++++ db/btdump.c | 8 + db/btheight.c | 5 + db/field.c | 15 ++ db/info.c | 13 ++ db/inode.c | 22 ++- db/metadump.c | 114 ++++++++++++ db/type.c | 5 + libfrog/scrub.c | 10 ++ libxfs/defer_item.c | 34 +++- libxfs/init.c | 8 +- libxfs/logitem.c | 14 ++ logprint/log_misc.c | 2 + logprint/log_print_all.c | 8 + logprint/log_redo.c | 24 ++- man/man2/ioctl_xfs_scrub_metadata.2 | 10 +- man/man8/xfs_db.8 | 49 +++++- mkfs/xfs_mkfs.c | 83 ++++++++- repair/Makefile | 1 + repair/agbtree.c | 4 +- repair/dino_chunks.c | 11 ++ repair/dinode.c | 287 +++++++++++++++++++++++++++--- repair/dir2.c | 5 + repair/phase4.c | 34 +++- repair/phase5.c | 6 +- repair/phase6.c | 14 +- repair/rmap.c | 241 ++++++++++++++++++++------ repair/rtrefcount_repair.c | 257 +++++++++++++++++++++++++++ repair/scan.c | 337 ++++++++++++++++++++++++++++++++++-- scrub/repair.c | 1 + spaceman/health.c | 10 ++ 41 files changed, 1779 insertions(+), 122 deletions(-) create mode 100644 repair/rtrefcount_repair.c