staging: erofs: remove clusterbits in sbi
authorGao Xiang <gaoxiang25@huawei.com>
Wed, 31 Jul 2019 15:57:48 +0000 (23:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Aug 2019 11:52:07 +0000 (13:52 +0200)
clustersize can now be set on per-file basis
rather than per-filesystem basis.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190731155752.210602-19-gaoxiang25@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/erofs/internal.h
drivers/staging/erofs/super.c
drivers/staging/erofs/zmap.c

index a631acd0dc627123d0435b654c4f366fba845909..3176c350779ecac3a5d8638bfe8093ad0775c235 100644 (file)
@@ -77,8 +77,6 @@ struct erofs_sb_info {
        struct list_head list;
        struct mutex umount_mutex;
 
-       /* cluster size in bit shift */
-       unsigned char clusterbits;
        /* the dedicated workstation for compression */
        struct radix_tree_root workstn_tree;
 
@@ -248,9 +246,6 @@ static inline int erofs_wait_on_workgroup_freezed(struct erofs_workgroup *grp)
 /* hard limit of pages per compressed cluster */
 #define Z_EROFS_CLUSTER_MAX_PAGES       (CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT)
 #define EROFS_PCPUBUF_NR_PAGES          Z_EROFS_CLUSTER_MAX_PAGES
-
-/* page count of a compressed cluster */
-#define erofs_clusterpages(sbi)         ((1 << (sbi)->clusterbits) / PAGE_SIZE)
 #else
 #define EROFS_PCPUBUF_NR_PAGES          0
 #endif /* !CONFIG_EROFS_FS_ZIP */
index af5d87793e4d2d171680d3ff44356a7e50506d88..dad5a3137988b8a0f37ea93bd40000d12fe80786 100644 (file)
@@ -124,15 +124,6 @@ static int superblock_read(struct super_block *sb)
        sbi->xattr_blkaddr = le32_to_cpu(layout->xattr_blkaddr);
 #endif
        sbi->islotbits = ffs(sizeof(struct erofs_inode_v1)) - 1;
-#ifdef CONFIG_EROFS_FS_ZIP
-       /* TODO: clusterbits should be related to inode */
-       sbi->clusterbits = blkszbits;
-
-       if (1 << (sbi->clusterbits - PAGE_SHIFT) > Z_EROFS_CLUSTER_MAX_PAGES)
-               errln("clusterbits %u is not supported on this kernel",
-                     sbi->clusterbits);
-#endif
-
        sbi->root_nid = le16_to_cpu(layout->root_nid);
        sbi->inos = le64_to_cpu(layout->inos);
 
index 205e884ca4e0dd2560ba5b99403c29f9642fa703..aeed5c674d9e8e137ba7dae79db588a7b0b377f0 100644 (file)
 int z_erofs_fill_inode(struct inode *inode)
 {
        struct erofs_vnode *const vi = EROFS_V(inode);
-       struct super_block *const sb = inode->i_sb;
 
        if (vi->datamode == EROFS_INODE_FLAT_COMPRESSION_LEGACY) {
                vi->z_advise = 0;
                vi->z_algorithmtype[0] = 0;
                vi->z_algorithmtype[1] = 0;
-               vi->z_logical_clusterbits = EROFS_SB(sb)->clusterbits;
+               vi->z_logical_clusterbits = LOG_BLOCK_SIZE;
                vi->z_physical_clusterbits[0] = vi->z_logical_clusterbits;
                vi->z_physical_clusterbits[1] = vi->z_logical_clusterbits;
                set_bit(EROFS_V_Z_INITED_BIT, &vi->flags);