On 2018/6/21 20:20, Yunlei He wrote:
> Now, we depend on fsck to ensure quota file data is ok,
> so we scan whole partition if checkpoint without umount
> flag. It's same for quota off error case, which may make
> quota file data inconsistent.
> 
> Signed-off-by: Yunlei He <heyun...@huawei.com>
> ---
>  fs/f2fs/super.c | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> index 73d7d7e..679af0a 100644
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c
> @@ -1820,7 +1820,9 @@ static int f2fs_quota_off(struct super_block *sb, int 
> type)
>       if (!inode || !igrab(inode))
>               return dquot_quota_off(sb, type);
>  
> -     f2fs_quota_sync(sb, type);
> +     err = f2fs_quota_sync(sb, type);
> +     if (err)
> +             goto out_put;
>  
>       err = dquot_quota_off(sb, type);
>       if (err || f2fs_sb_has_quota_ino(sb))
> @@ -1839,9 +1841,18 @@ static int f2fs_quota_off(struct super_block *sb, int 
> type)
>  void f2fs_quota_off_umount(struct super_block *sb)
>  {
>       int type;
> +     int err;
>  
> -     for (type = 0; type < MAXQUOTAS; type++)
> -             f2fs_quota_off(sb, type);
> +     for (type = 0; type < MAXQUOTAS; type++) {
> +             err = f2fs_quota_off(sb, type);
> +             if (err) {
> +                     f2fs_msg(sb, KERN_ERR,
> +                             "Failed to off quota tracking "

Minor,

"Fail to turn off disk quota (type: %d, err: %d), run fsck to fix it." type, 
err)

Thanks,

> +                             "(type=%d, err=%d). Please run "
> +                             "fsck to fix.", type, err);
> +                     set_sbi_flag(F2FS_SB(sb), SBI_NEED_FSCK);
> +             }
> +     }
>  }
>  
>  static int f2fs_get_projid(struct inode *inode, kprojid_t *projid)
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to