On 2018/6/21 15:27, 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 <[email protected]> > --- > fs/f2fs/super.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 73d7d7e..d1e91f0 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)) > @@ -1841,7 +1843,8 @@ void f2fs_quota_off_umount(struct super_block *sb) > int type; > > for (type = 0; type < MAXQUOTAS; type++) > - f2fs_quota_off(sb, type); > + if (f2fs_quota_off(sb, type)) > + set_sbi_flag(sbi, SBI_NEED_FSCK);
Could you add some kmsg to give a hint to user? so that user can run fsck to fix corrupted quota files. Otherwise it looks good to me. Thanks, > } > > 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 [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
