[PATCH 2/2] erofs: replace global decompressors[] with stack memory

From: Yue Hu
Date: Wed Apr 26 2023 - 00:12:41 EST


From: Yue Hu <huyue2@xxxxxxxxxxx>

Note that only z_erofs_decompress() is using the decompressors[], so no
need to keep it as global resource, just use local one instead.

Signed-off-by: Yue Hu <huyue2@xxxxxxxxxxx>
---
fs/erofs/decompressor.c | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index f416ebd6f0dc..91d91bdd068f 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -368,25 +368,24 @@ struct z_erofs_decompressor {
struct page **pagepool);
};

-static struct z_erofs_decompressor decompressors[] = {
- [Z_EROFS_COMPRESSION_SHIFTED] = {
- .decompress = z_erofs_transform_plain,
- },
- [Z_EROFS_COMPRESSION_INTERLACED] = {
- .decompress = z_erofs_transform_plain,
- },
- [Z_EROFS_COMPRESSION_LZ4] = {
- .decompress = z_erofs_lz4_decompress,
- },
-#ifdef CONFIG_EROFS_FS_ZIP_LZMA
- [Z_EROFS_COMPRESSION_LZMA] = {
- .decompress = z_erofs_lzma_decompress,
- },
-#endif
-};
-
int z_erofs_decompress(struct z_erofs_decompress_req *rq,
struct page **pagepool)
{
+ struct z_erofs_decompressor decompressors[] = {
+ [Z_EROFS_COMPRESSION_SHIFTED] = {
+ .decompress = z_erofs_transform_plain,
+ },
+ [Z_EROFS_COMPRESSION_INTERLACED] = {
+ .decompress = z_erofs_transform_plain,
+ },
+ [Z_EROFS_COMPRESSION_LZ4] = {
+ .decompress = z_erofs_lz4_decompress,
+ },
+#ifdef CONFIG_EROFS_FS_ZIP_LZMA
+ [Z_EROFS_COMPRESSION_LZMA] = {
+ .decompress = z_erofs_lzma_decompress,
+ },
+#endif
+ };
return decompressors[rq->alg].decompress(rq, pagepool);
}
--
2.17.1