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

Chunhai Guo guochunhai at vivo.com
Tue Nov 12 14:15:13 AEDT 2024


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

Signed-off-by: Chunhai Guo <guochunhai at vivo.com>
---
 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



More information about the Linux-erofs mailing list