2023-04-26 04:56:49

by Yue Hu

[permalink] [raw]
Subject: [PATCH 1/2] erofs: get rid of name from struct z_erofs_decompressor

From: Yue Hu <[email protected]>

There are no users of the name and we can get this via ->alg if needed.
Also, move struct z_erofs_decompressor into decompressor.c which is the
only one to use it.

Signed-off-by: Yue Hu <[email protected]>
---
fs/erofs/compress.h | 6 ------
fs/erofs/decompressor.c | 9 +++++----
2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/fs/erofs/compress.h b/fs/erofs/compress.h
index 26fa170090b8..d161683bda03 100644
--- a/fs/erofs/compress.h
+++ b/fs/erofs/compress.h
@@ -20,12 +20,6 @@ struct z_erofs_decompress_req {
bool inplace_io, partial_decoding, fillgaps;
};

-struct z_erofs_decompressor {
- int (*decompress)(struct z_erofs_decompress_req *rq,
- struct page **pagepool);
- char *name;
-};
-
/* some special page->private (unsigned long, see below) */
#define Z_EROFS_SHORTLIVED_PAGE (-1UL << 2)
#define Z_EROFS_PREALLOCATED_PAGE (-2UL << 2)
diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index 7021e2cf6146..f416ebd6f0dc 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -363,23 +363,24 @@ static int z_erofs_transform_plain(struct z_erofs_decompress_req *rq,
return 0;
}

+struct z_erofs_decompressor {
+ int (*decompress)(struct z_erofs_decompress_req *rq,
+ struct page **pagepool);
+};
+
static struct z_erofs_decompressor decompressors[] = {
[Z_EROFS_COMPRESSION_SHIFTED] = {
.decompress = z_erofs_transform_plain,
- .name = "shifted"
},
[Z_EROFS_COMPRESSION_INTERLACED] = {
.decompress = z_erofs_transform_plain,
- .name = "interlaced"
},
[Z_EROFS_COMPRESSION_LZ4] = {
.decompress = z_erofs_lz4_decompress,
- .name = "lz4"
},
#ifdef CONFIG_EROFS_FS_ZIP_LZMA
[Z_EROFS_COMPRESSION_LZMA] = {
.decompress = z_erofs_lzma_decompress,
- .name = "lzma"
},
#endif
};
--
2.17.1


2023-04-26 06:10:26

by Gao Xiang

[permalink] [raw]
Subject: Re: [PATCH 1/2] erofs: get rid of name from struct z_erofs_decompressor



On 2023/4/26 12:10, Yue Hu wrote:
> From: Yue Hu <[email protected]>
>
> There are no users of the name and we can get this via ->alg if needed.
> Also, move struct z_erofs_decompressor into decompressor.c which is the
> only one to use it.
>
> Signed-off-by: Yue Hu <[email protected]>

I'd like to avoid z_erofs_decompress() function instead honestly.
name strings might be useful if users would like to get runtime
supported algorithms.

Thanks,
Gao Xiang

> ---
> fs/erofs/compress.h | 6 ------
> fs/erofs/decompressor.c | 9 +++++----
> 2 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/fs/erofs/compress.h b/fs/erofs/compress.h
> index 26fa170090b8..d161683bda03 100644
> --- a/fs/erofs/compress.h
> +++ b/fs/erofs/compress.h
> @@ -20,12 +20,6 @@ struct z_erofs_decompress_req {
> bool inplace_io, partial_decoding, fillgaps;
> };
>
> -struct z_erofs_decompressor {
> - int (*decompress)(struct z_erofs_decompress_req *rq,
> - struct page **pagepool);
> - char *name;
> -};
> -
> /* some special page->private (unsigned long, see below) */
> #define Z_EROFS_SHORTLIVED_PAGE (-1UL << 2)
> #define Z_EROFS_PREALLOCATED_PAGE (-2UL << 2)
> diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
> index 7021e2cf6146..f416ebd6f0dc 100644
> --- a/fs/erofs/decompressor.c
> +++ b/fs/erofs/decompressor.c
> @@ -363,23 +363,24 @@ static int z_erofs_transform_plain(struct z_erofs_decompress_req *rq,
> return 0;
> }
>
> +struct z_erofs_decompressor {
> + int (*decompress)(struct z_erofs_decompress_req *rq,
> + struct page **pagepool);
> +};
> +
> static struct z_erofs_decompressor decompressors[] = {
> [Z_EROFS_COMPRESSION_SHIFTED] = {
> .decompress = z_erofs_transform_plain,
> - .name = "shifted"
> },
> [Z_EROFS_COMPRESSION_INTERLACED] = {
> .decompress = z_erofs_transform_plain,
> - .name = "interlaced"
> },
> [Z_EROFS_COMPRESSION_LZ4] = {
> .decompress = z_erofs_lz4_decompress,
> - .name = "lz4"
> },
> #ifdef CONFIG_EROFS_FS_ZIP_LZMA
> [Z_EROFS_COMPRESSION_LZMA] = {
> .decompress = z_erofs_lzma_decompress,
> - .name = "lzma"
> },
> #endif
> };