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

Gao Xiang hsiangkao at linux.alibaba.com
Tue Nov 12 14:09:55 AEDT 2024



On 2024/11/12 11:15, Chunhai Guo wrote:
> 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) {

I guess we need to check if
	(sbi->opt.cache_strategy != new_sbi->opt.cache_strategy &&
	new_sbi->opt.cache_strategy == EROFS_ZIP_CACHE_DISABLED)


Thanks,
Gao Xiang

> +		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;



More information about the Linux-erofs mailing list