[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200103171213.GC14328@amd>
Date: Fri, 3 Jan 2020 18:12:13 +0100
From: Pavel Machek <pavel@...x.de>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Chengguang Xu <cgxu519@...ernel.net>,
Chao Yu <yuchao0@...wei.com>, Jaegeuk Kim <jaegeuk@...nel.org>,
Sasha Levin <sashal@...nel.org>
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@...ernel.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@...ernel.net>
> Reviewed-by: Chao Yu <yuchao0@...wei.com>
> Signed-off-by: Jaegeuk Kim <jaegeuk@...nel.org>
> Signed-off-by: Sasha Levin <sashal@...nel.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
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists