erofs: enable 48-bit layout support Both 48-bit block addressing and encoded extents are implemented, let's enable them formally. Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig index 6ea6066..5362500 100644 --- a/fs/erofs/Kconfig +++ b/fs/erofs/Kconfig
@@ -13,12 +13,12 @@ smartphones with Android OS, LiveCDs and high-density hosts with numerous containers; - It also provides fixed-sized output compression support in order to - improve storage density as well as keep relatively higher compression - ratios and implements in-place decompression to reuse the file page - for compressed data temporarily with proper strategies, which is - quite useful to ensure guaranteed end-to-end runtime decompression - performance under extremely memory pressure without extra cost. + It also provides transparent compression and deduplication support to + improve storage density and maintain relatively high compression + ratios, and it implements in-place decompression to temporarily reuse + page cache for compressed data using proper strategies, which is + quite useful for ensuring guaranteed end-to-end runtime decompression + performance under extreme memory pressure without extra cost. See the documentation at <file:Documentation/filesystems/erofs.rst> and the web pages at <https://erofs.docs.kernel.org> for more details. @@ -97,7 +97,7 @@ select LZ4_DECOMPRESS default y help - Enable fixed-sized output compression for EROFS. + Enable EROFS transparent compression support. If you don't want to enable compression feature, say N.
diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h index a302843..6ba7b34 100644 --- a/fs/erofs/erofs_fs.h +++ b/fs/erofs/erofs_fs.h
@@ -32,7 +32,7 @@ #define EROFS_FEATURE_INCOMPAT_XATTR_PREFIXES 0x00000040 #define EROFS_FEATURE_INCOMPAT_48BIT 0x00000080 #define EROFS_ALL_FEATURE_INCOMPAT \ - ((EROFS_FEATURE_INCOMPAT_XATTR_PREFIXES << 1) - 1) + ((EROFS_FEATURE_INCOMPAT_48BIT << 1) - 1) #define EROFS_SB_EXTSLOT_SIZE 16
diff --git a/fs/erofs/super.c b/fs/erofs/super.c index 18445dc..c594ca7 100644 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c
@@ -330,6 +330,8 @@ static int erofs_read_superblock(struct super_block *sb) /* handle multiple devices */ ret = erofs_scan_devices(sb, dsb); + if (erofs_sb_has_48bit(sbi)) + erofs_info(sb, "EXPERIMENTAL 48-bit layout support in use. Use at your own risk!"); if (erofs_is_fscache_mode(sb)) erofs_info(sb, "[deprecated] fscache-based on-demand read feature in use. Use at your own risk!"); out: