erofs-utils: mkfs: support `-Efragdedupe=inode`
authorGao Xiang <hsiangkao@linux.alibaba.com>
Fri, 3 Jan 2025 02:40:11 +0000 (10:40 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Fri, 3 Jan 2025 14:06:04 +0000 (22:06 +0800)
commit06875b3f2182eab24b81083dfde542f778b201cc
treed415d2870ca62339ef2452064e653428bc0bd4a7
parentb4b93c26c7e8e771af93627f02791818e7c78f6c
erofs-utils: mkfs: support `-Efragdedupe=inode`

If the entire inode can be deduplicated against an existing fragment,
simply reuse it.

Multi-threading can still be applied for `-Efragdedupe=inode` with
the current codebase:

Fedora Linux 39 (Workstation Edition) LiveCD results:
 -zlzma,level=6,dictsize=131072 -C65536 -Eall-fragments

   `-E^fragdedupe`         2,003,587,072 bytes (1911 MiB)
   `-Efragdedupe=inode`    1,970,577,408 bytes (1880 MiB)

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20250103024011.198163-1-hsiangkao@linux.alibaba.com
include/erofs/config.h
lib/compress.c
mkfs/main.c