linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Chengguang Xu <cgxu519@mykernel.net>
Cc: Jan Kara <jack@suse.cz>,
	"adilger.kernel" <adilger.kernel@dilger.ca>,
	tytso <tytso@mit.edu>, Jan Kara <jack@suse.com>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH v2] ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project()
Date: Wed, 6 Nov 2019 13:06:45 +0100	[thread overview]
Message-ID: <20191106120645.GH16085@quack2.suse.cz> (raw)
In-Reply-To: <16e404d465e.ddfd6f53546.5756417115406096069@mykernel.net>

On Wed 06-11-19 18:40:36, Chengguang Xu wrote:
>  ---- 在 星期三, 2019-11-06 17:49:24 Jan Kara <jack@suse.cz> 撰写 ----
>  > On Wed 06-11-19 12:37:35, Chengguang Xu wrote:
>  > >  ---- 在 星期二, 2019-10-15 19:25:23 Jan Kara <jack@suse.cz> 撰写 ----
>  > >  > On Tue 15-10-19 18:23:27, Chengguang Xu wrote:
>  > >  > > 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).
>  > >  > > 
>  > >  > > [root@hades mnt_ext4]# repquota -P -a
>  > >  > > *** Report for project quotas on device /dev/loop0
>  > >  > > Block grace time: 7days; Inode grace time: 7days
>  > >  > >                         Block limits                File limits
>  > >  > > Project         used    soft    hard  grace    used  soft  hard  grace
>  > >  > > ----------------------------------------------------------------------
>  > >  > >  0        --      13       0       0              2     0     0
>  > >  > >  123      --   10237   20480   10240              5   200   100
>  > >  > > 
>  > >  > > The result of df command as below:
>  > >  > > 
>  > >  > > [root@hades mnt_ext4]# df -h test_dir
>  > >  > > Filesystem      Size  Used Avail Use% Mounted on
>  > >  > > /dev/loop0       20M   10M   10M  50% /home/cgxu/test/mnt_ext4
>  > >  > > 
>  > >  > > Even though it looks like there is another 10M free space to use,
>  > >  > > if we write new data to diretory test_dir(inherit project id),
>  > >  > > the write will fail with errno(-EDQUOT).
>  > >  > > 
>  > >  > > After this patch, the df result looks like below.
>  > >  > > 
>  > >  > > [root@hades mnt_ext4]# df -h test_dir
>  > >  > > Filesystem      Size  Used Avail Use% Mounted on
>  > >  > > /dev/loop0       10M   10M  3.0K 100% /home/cgxu/test/mnt_ext4
>  > >  > > 
>  > >  > > Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
>  > >  > > ---
>  > >  > > - Fix a bug in the limit setting logic.
>  > >  > 
>  > >  > Thanks for the patch! It looks good to me. You can add:
>  > >  > 
>  > >  > Reviewed-by: Jan Kara <jack@suse.cz>
>  > >  > 
>  > > 
>  > > Hi Jan,
>  > > 
>  > > I have a proposal for another direction.
>  > > Could we add a check for soft limit  in quota layer when setting the value?
>  > > So that we could not bother with  specific file systems on statfs(). 
>  > 
>  > What do you mean exactly? To not allow softlimit to be larger than
>  > hardlimit? That would make some sense but I don't think the risk of
>  > breaking some user that accidentally depends on current behavior is worth
>  > the few checks we can save...
>  > 
>  
> Actually, I thought exactly same as you when I wrote my patch for
> statfs() of ext4.  However, even though softlimit > hardlimit, we cannot
> allow user to use blocks or inode more than hardlimit. IOW, the limit is
> always there and  fixed in this situation.  So  how about set softlimit
> to hardlimit when softlimit > hardlimit and return with success?

Well, the softlimit > hardlimit won't have any effect but if the hardlimit
is then raised (e.g. with a tool like edquota(8)), it may suddently start
having effect. That's why I'm reluctant to just ignore or trim too large
softlimit.
								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

      reply	other threads:[~2019-11-06 12:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-15 10:23 [PATCH v2] ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() Chengguang Xu
2019-10-15 11:25 ` Jan Kara
2019-11-06  4:37   ` Chengguang Xu
2019-11-06  5:03     ` Darrick J. Wong
2019-11-06  8:34       ` Chengguang Xu
2019-11-06 10:52         ` Chengguang Xu
2019-11-06  9:49     ` Jan Kara
2019-11-06 10:40       ` Chengguang Xu
2019-11-06 12:06         ` Jan Kara [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191106120645.GH16085@quack2.suse.cz \
    --to=jack@suse.cz \
    --cc=adilger.kernel@dilger.ca \
    --cc=cgxu519@mykernel.net \
    --cc=jack@suse.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).