Re: [PATCH 4.19 062/114] f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 ---- 在 星期六, 2020-01-04 01:12:13 Pavel Machek <pavel@xxxxxxx> 撰写 ----
 > Hi!
 > 
 > > From: Chengguang Xu <cgxu519@xxxxxxxxxxxx>
 > > 
 > > [ 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@xxxxxxxxxxxx>
 > > Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>
 > > Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
 > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
 > > ---
 > >  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)?
 > 

Please  skip this patch from  stable list,  I'll send  a revised patch to upstream.

Thanks.








[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux