[PATCH 3/5] erofs-utils: lib: preserve primarydevice_blocks if already larger
Lucas Karpinski
lkarpinski at nvidia.com
Tue Mar 3 07:01:52 AEDT 2026
Change erofs_importer_flush_all() to use max(). This allows callers to
pre-allocate space for data beyond the metadata region.
Signed-off-by: Lucas Karpinski <lkarpinski at nvidia.com>
---
lib/importer.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/importer.c b/lib/importer.c
index 26c86a0..56c8ea8 100644
--- a/lib/importer.c
+++ b/lib/importer.c
@@ -126,8 +126,9 @@ int erofs_importer_flush_all(struct erofs_importer *im)
fsalignblks = im->params->fsalignblks ?
roundup_pow_of_two(im->params->fsalignblks) : 1;
- sbi->primarydevice_blocks = roundup(erofs_mapbh(sbi->bmgr, NULL),
- fsalignblks);
+ sbi->primarydevice_blocks = max_t(erofs_blk_t, sbi->primarydevice_blocks,
+ roundup(erofs_mapbh(sbi->bmgr, NULL),
+ fsalignblks));
err = erofs_write_device_table(sbi);
if (err)
return err;
--
Git-155)
More information about the Linux-erofs
mailing list