Clean up the cache when cached decompression strategy is changed to EROFS_ZIP_CACHE_DISABLED by remount.
Signed-off-by: Chunhai Guo <guochun...@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