From: Lucas Karpinski <lkarpinski@nvidia.com>
To: linux-erofs@lists.ozlabs.org
Cc: jcalmels@nvidia.com, Lucas Karpinski <lkarpinski@nvidia.com>
Subject: [PATCH v3 0/4] erofs-utils: implement the FULLDATA rebuild mode
Date: Tue, 14 Apr 2026 15:10:38 -0400 [thread overview]
Message-ID: <20260414-merge-fs-v3-0-266bd1367fd2@nvidia.com> (raw)
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>
next reply other threads:[~2026-04-14 19:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-14 19:10 Lucas Karpinski [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260414-merge-fs-v3-0-266bd1367fd2@nvidia.com \
--to=lkarpinski@nvidia.com \
--cc=jcalmels@nvidia.com \
--cc=linux-erofs@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox