public inbox for linux-erofs@ozlabs.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] erofs-utils: implement the FULLDATA rebuild mode
@ 2026-04-14 19:10 Lucas Karpinski
  2026-04-14 19:10 ` [PATCH v3 1/4] erofs-utils: lib: remove redundant if check Lucas Karpinski
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Lucas Karpinski @ 2026-04-14 19:10 UTC (permalink / raw)
  To: linux-erofs; +Cc: jcalmels, Lucas Karpinski

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 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 <lkarpinski@nvidia.com>
---
Lucas Karpinski (4):
      erofs-utils: lib: remove redundant if check
      erofs-utils: lib: add helper function erofs_uuid_unparse_as_tag
      erofs-utils: mfks: add rebuild FULLDATA for combined EROFS images
      erofs-utils: manpages: update to reflect fulldata support

 include/erofs/internal.h |  3 +++
 lib/inode.c              | 39 ++++++++++++++++++++-------
 lib/liberofs_uuid.h      |  1 +
 lib/rebuild.c            | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/uuid_unparse.c       | 16 ++++++++++-
 man/mkfs.erofs.1         |  7 ++++-
 mkfs/main.c              | 16 ++++-------
 7 files changed, 130 insertions(+), 22 deletions(-)
---
base-commit: 58c3351d5b4b0fc5e4a05d2200c1cf9f85902899
change-id: 20260220-merge-fs-e6231a3a3a1c

Best regards,
-- 
Lucas Karpinski <lkarpinski@nvidia.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-04-15 14:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-14 19:10 [PATCH v3 0/4] erofs-utils: implement the FULLDATA rebuild mode Lucas Karpinski
2026-04-14 19:10 ` [PATCH v3 1/4] erofs-utils: lib: remove redundant if check Lucas Karpinski
2026-04-14 19:10 ` [PATCH v3 2/4] erofs-utils: lib: add helper function erofs_uuid_unparse_as_tag Lucas Karpinski
2026-04-14 19:10 ` [PATCH v3 3/4] erofs-utils: mfks: add rebuild FULLDATA for combined EROFS images Lucas Karpinski
2026-04-15  3:35   ` zhaoyifan (H)
2026-04-15  7:47     ` Gao Xiang
2026-04-15 13:30       ` Lucas Karpinski
2026-04-14 19:10 ` [PATCH v3 4/4] erofs-utils: manpages: update to reflect fulldata support Lucas Karpinski
2026-04-15  2:07 ` [PATCH v3 0/4] erofs-utils: implement the FULLDATA rebuild mode Gao Xiang
2026-04-15 14:09   ` Lucas Karpinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox