erofs: fold in z_erofs_decompress()
authorYue Hu <huyue2@coolpad.com>
Wed, 26 Apr 2023 08:44:49 +0000 (16:44 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Mon, 29 May 2023 07:54:49 +0000 (15:54 +0800)
No need this helper since it's just a simple wrapper for decompress
method and only one caller.  So, let's fold in directly instead.

Signed-off-by: Yue Hu <huyue2@coolpad.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20230426084449.12781-1-zbestahu@gmail.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/compress.h
fs/erofs/decompressor.c
fs/erofs/zdata.c

index 26fa170..b1b8465 100644 (file)
@@ -89,8 +89,7 @@ static inline bool erofs_page_is_managed(const struct erofs_sb_info *sbi,
 
 int z_erofs_fixup_insize(struct z_erofs_decompress_req *rq, const char *padbuf,
                         unsigned int padbufsize);
-int z_erofs_decompress(struct z_erofs_decompress_req *rq,
-                      struct page **pagepool);
+extern const struct z_erofs_decompressor erofs_decompressors[];
 
 /* prototypes for specific algorithms */
 int z_erofs_lzma_decompress(struct z_erofs_decompress_req *rq,
index 7021e2c..2a29943 100644 (file)
@@ -363,7 +363,7 @@ static int z_erofs_transform_plain(struct z_erofs_decompress_req *rq,
        return 0;
 }
 
-static struct z_erofs_decompressor decompressors[] = {
+const struct z_erofs_decompressor erofs_decompressors[] = {
        [Z_EROFS_COMPRESSION_SHIFTED] = {
                .decompress = z_erofs_transform_plain,
                .name = "shifted"
@@ -383,9 +383,3 @@ static struct z_erofs_decompressor decompressors[] = {
        },
 #endif
 };
-
-int z_erofs_decompress(struct z_erofs_decompress_req *rq,
-                      struct page **pagepool)
-{
-       return decompressors[rq->alg].decompress(rq, pagepool);
-}
index 160b3da..be8d286 100644 (file)
@@ -1283,6 +1283,8 @@ static int z_erofs_decompress_pcluster(struct z_erofs_decompress_backend *be,
        struct erofs_sb_info *const sbi = EROFS_SB(be->sb);
        struct z_erofs_pcluster *pcl = be->pcl;
        unsigned int pclusterpages = z_erofs_pclusterpages(pcl);
+       const struct z_erofs_decompressor *decompressor =
+                               &erofs_decompressors[pcl->algorithmformat];
        unsigned int i, inputsize;
        int err2;
        struct page *page;
@@ -1326,7 +1328,7 @@ static int z_erofs_decompress_pcluster(struct z_erofs_decompress_backend *be,
        else
                inputsize = pclusterpages * PAGE_SIZE;
 
-       err = z_erofs_decompress(&(struct z_erofs_decompress_req) {
+       err = decompressor->decompress(&(struct z_erofs_decompress_req) {
                                        .sb = be->sb,
                                        .in = be->compressed_pages,
                                        .out = be->decompressed_pages,