| Date | Fri, 3 Jan 2020 18:12:13 +0100 | From | Pavel Machek <> | Subject | Re: [PATCH 4.19 062/114] f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() |
| |
Hi!
> From: Chengguang Xu <cgxu519@mykernel.net> > > [ Upstream commit 909110c060f22e65756659ec6fa957ae75777e00 ] > > Setting softlimit larger than hardlimit seems meaningless > for disk quota but currently it is allowed. In this case, > there may be a bit of comfusion for users when they run > df comamnd to directory which has project quota. > > For example, we set 20M softlimit and 10M hardlimit of > block usage limit for project quota of test_dir(project id 123).
> Signed-off-by: Chengguang Xu <cgxu519@mykernel.net> > Reviewed-by: Chao Yu <yuchao0@huawei.com> > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > fs/f2fs/super.c | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 7a9cc64f5ca3..662c7de58b99 100644 > --- a/fs/f2fs/super.c > +++ b/fs/f2fs/super.c > @@ -1148,9 +1148,13 @@ static int f2fs_statfs_project(struct super_block *sb, > return PTR_ERR(dquot); > spin_lock(&dquot->dq_dqb_lock); > > - limit = (dquot->dq_dqb.dqb_bsoftlimit ? > - dquot->dq_dqb.dqb_bsoftlimit : > - dquot->dq_dqb.dqb_bhardlimit) >> sb->s_blocksize_bits; > + limit = 0; > + if (dquot->dq_dqb.dqb_bsoftlimit) > + limit = dquot->dq_dqb.dqb_bsoftlimit; > + if (dquot->dq_dqb.dqb_bhardlimit && > + (!limit || dquot->dq_dqb.dqb_bhardlimit < limit)) > + limit = dquot->dq_dqb.dqb_bhardlimit; > + > if (limit && buf->f_blocks > limit) {
>> blocksize disappeared here. That can't be right.
Plus, is this just obfuscated way of saying
limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit, dquot->dq_dqb.dqb_bhardlimit)?
Best regards, Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [unhandled content-type:application/pgp-signature] |