Use kill_anon_super() instead of generic_shutdown_super() since the
mount() in erofs fscache mode uses get_tree_nodev() and associated
anon bdev needs to be freed.
Signed-off-by: Jingbo Xu <[email protected]>
Signed-off-by: Jia Zhu <[email protected]>
---
fs/erofs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 3173debeaa5a..9716d355a63e 100644
--- a/fs/erofs/super.c
+++ b/fs/erofs/super.c
@@ -879,7 +879,7 @@ static void erofs_kill_sb(struct super_block *sb)
WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC);
if (erofs_is_fscache_mode(sb))
- generic_shutdown_super(sb);
+ kill_anon_super(sb);
else
kill_block_super(sb);
--
2.20.1
On 9/14/22 6:50 PM, Jia Zhu wrote:
> Use kill_anon_super() instead of generic_shutdown_super() since the
> mount() in erofs fscache mode uses get_tree_nodev() and associated
> anon bdev needs to be freed.
>
> Signed-off-by: Jingbo Xu <[email protected]>
Thanks. You're welcome to use "Suggested-by" in this case. The same with
patch 2.
> Signed-off-by: Jia Zhu <[email protected]>
> ---
> fs/erofs/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
> index 3173debeaa5a..9716d355a63e 100644
> --- a/fs/erofs/super.c
> +++ b/fs/erofs/super.c
> @@ -879,7 +879,7 @@ static void erofs_kill_sb(struct super_block *sb)
> WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC);
>
> if (erofs_is_fscache_mode(sb))
> - generic_shutdown_super(sb);
> + kill_anon_super(sb);
> else
> kill_block_super(sb);
>
Reviewed-by: Jingbo Xu <[email protected]>
--
Thanks,
Jingbo
在 2022/9/15 10:28, JeffleXu 写道:
>
>
> On 9/14/22 6:50 PM, Jia Zhu wrote:
>> Use kill_anon_super() instead of generic_shutdown_super() since the
>> mount() in erofs fscache mode uses get_tree_nodev() and associated
>> anon bdev needs to be freed.
>>
>> Signed-off-by: Jingbo Xu <[email protected]>
>
> Thanks. You're welcome to use "Suggested-by" in this case. The same with
> patch 2.
>
OK, thanks for your suggestion and review.
>> Signed-off-by: Jia Zhu <[email protected]>
>> ---
>> fs/erofs/super.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
>> index 3173debeaa5a..9716d355a63e 100644
>> --- a/fs/erofs/super.c
>> +++ b/fs/erofs/super.c
>> @@ -879,7 +879,7 @@ static void erofs_kill_sb(struct super_block *sb)
>> WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC);
>>
>> if (erofs_is_fscache_mode(sb))
>> - generic_shutdown_super(sb);
>> + kill_anon_super(sb);
>> else
>> kill_block_super(sb);
>>
>
> Reviewed-by: Jingbo Xu <[email protected]>
>