[PATCH] erofs: clean up the cache if cached decompression is disabled

From: Chunhai Guo
Date: Mon Nov 11 2024 - 21:59:05 EST


Clean up the cache when cached decompression strategy is changed to
EROFS_ZIP_CACHE_DISABLED by remount.

Signed-off-by: Chunhai Guo <guochunhai@xxxxxxxx>
---
fs/erofs/super.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 320d586c3896..de2af862e65b 100644
--- a/fs/erofs/super.c
+++ b/fs/erofs/super.c
@@ -743,6 +743,11 @@ static int erofs_fc_reconfigure(struct fs_context *fc)
else
fc->sb_flags &= ~SB_POSIXACL;

+ if (new_sbi->opt.cache_strategy == EROFS_ZIP_CACHE_DISABLED) {
+ mutex_lock(&sbi->umount_mutex);
+ z_erofs_shrink_scan(sbi, ~0UL);
+ mutex_unlock(&sbi->umount_mutex);
+ }
sbi->opt = new_sbi->opt;

fc->sb_flags |= SB_RDONLY;
--
2.34.1