[PATCH v4 0/2] erofs-utils: implement the FULLDATA rebuild mode

Lucas Karpinski <[email protected]>
Newsgroups org.ozlabs.lists.linux-erofs
Message-ID <[email protected]>
Currently, erofs-utils supports backing blobs for multi-image setups.  This
implements the FULLDATA import which allows for the merging of multiple
source images into a single self-contained erofs image.

To optimize the rebuild process, erofs_io_xcopy() is used to leverage the
copy_file_range(2) if available. This bypasses userspace buffering and
enables kernel side data transfers.
 
Verification: Built same image with default rebuild and rebuild with
FULLDATA. Then ran F-i-f/tdiff comparing the two.

changes in v4:
- fixed inline inodes.
- removed unneeded header.
- spelling mistakes & spurious new line.

changes in v3:
- adhere to uniaddress semantics.
- take advantage of existing infrastructure which allows us to drop a
  significant amount of complexity + code.

changes in v2:
- reworked erofs_rebuild_load_trees_full into
  erofs_mkfs_rebuild_load_trees.
- removed --merge option (use --clean=data instead).
- updated man.

Signed-off-by: Lucas Karpinski <[email protected]>
---
Lucas Karpinski (2):
      erofs-utils: mkfs: add rebuild FULLDATA for combined EROFS images
      erofs-utils: manpage: update to reflect fulldata support

 include/erofs/internal.h |  3 +++
 lib/inode.c              | 38 ++++++++++++++++++++++-----
 lib/rebuild.c            | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
 man/mkfs.erofs.1         |  7 ++++-
 mkfs/main.c              |  7 +++--
 5 files changed, 114 insertions(+), 9 deletions(-)
---
base-commit: fa1aa7d3c22a3ee26956cea24156735f96ee8f9c
change-id: 20260220-merge-fs-e6231a3a3a1c

Best regards,
-- 
Lucas Karpinski <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.