Re: [f2fs-dev] [PATCH] f2fs: turn quota off when error occurs
From: Chao Yu
Date: Mon Oct 23 2017 - 06:12:17 EST
On 2017/10/23 0:01, Jaegeuk Kim wrote:
> On 10/22, Chao Yu wrote:
>> On 2017/10/20 23:53, Jaegeuk Kim wrote:
>>> Before changing readonly, it needs to turn quota off.
>>>
>>> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
>>> ---
>>> fs/f2fs/checkpoint.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
>>> index 201608281681..ff74665d7f2d 100644
>>> --- a/fs/f2fs/checkpoint.c
>>> +++ b/fs/f2fs/checkpoint.c
>>> @@ -29,6 +29,7 @@ struct kmem_cache *inode_entry_slab;
>>> void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io)
>>> {
>>> set_ckpt_flags(sbi, CP_ERROR_FLAG);
>>> + f2fs_quota_off_umount(sb);
>>> sbi->sb->s_flags |= MS_RDONLY;
>>> if (!end_io)
>>
>> Oh, f2fs_stop_checkpoint can be called from end_io, how about adding
>> f2fs_quota_off_umount here?
>
> Agreed.
>
> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>
Thanks,
> ---
> fs/f2fs/checkpoint.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> index 201608281681..b38b1ae59124 100644
> --- a/fs/f2fs/checkpoint.c
> +++ b/fs/f2fs/checkpoint.c
> @@ -29,9 +29,13 @@ struct kmem_cache *inode_entry_slab;
> void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io)
> {
> set_ckpt_flags(sbi, CP_ERROR_FLAG);
> - sbi->sb->s_flags |= MS_RDONLY;
> - if (!end_io)
> + if (!end_io) {
> + f2fs_quota_off_umount(sbi->sb);
> + sbi->sb->s_flags |= MS_RDONLY;
> f2fs_flush_merged_writes(sbi);
> + } else {
> + sbi->sb->s_flags |= MS_RDONLY;
> + }
> }
>
> /*
>