Both 48-bit block addressing and encoded extents are implemented, let's enable them formally.
Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com> --- fs/erofs/Kconfig | 14 +++++++------- fs/erofs/erofs_fs.h | 2 +- fs/erofs/super.c | 2 ++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig index 6ea60661fa55..331e49cd1b8d 100644 --- a/fs/erofs/Kconfig +++ b/fs/erofs/Kconfig @@ -13,12 +13,12 @@ config EROFS_FS 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 @@ config EROFS_FS_ZIP select LZ4_DECOMPRESS default y help - Enable fixed-sized output compression for EROFS. + Enable transparent compression support for EROFS file systems. 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 6d461be790bd..9581e9bf8192 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 0156ee7217c9..a8fc75fd1c74 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: -- 2.43.5