From: Arne Jansen <sensille@gmx.net>
To: Andrey Kuzmin <andrey.v.kuzmin@gmail.com>
Cc: Hugo Mills <hugo@carfax.org.uk>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
Chris Mason <chris.mason@oracle.com>,
hch@infradead.org, ricwheeler@gmail.com
Subject: Re: Quota Implementation
Date: Sat, 04 Jun 2011 08:36:22 +0200 [thread overview]
Message-ID: <4DE9D266.7000403@gmx.net> (raw)
In-Reply-To: <BANLkTikaEpiDucHfTALmh=Ndsf-j=dwSJA@mail.gmail.com>
On 03.06.2011 22:44, Andrey Kuzmin wrote:
> On Fri, Jun 3, 2011 at 8:47 PM, Hugo Mills<hugo@carfax.org.uk> wrote:
>> On Fri, Jun 03, 2011 at 06:24:41PM +0200, Arne Jansen wrote:
>>> Hi,
>>>
>>> If no one is already working on it, I'd like to take the Quota lock and
>>> see how far I come.
>>> Let me sketch out in short what I'm planning to do:
>>>
>>> - Quota will be subvolume based. Only the FS-trees and data extents
>>> will be accounted.
>>> - Quota Groups can be defined. Every quota group can comprise any
>>> number of subvolumes. A subvolume can be assigned to any number
>>> of quota groups.
>>> - A Quota Group can account/limit the total amount of space that is
>>> referenced by it and/or the amount of space that is exclusively
>>> referenced (i.e. referenced by no other quota group).
>>> - With this it is possible to define a hierarchical quota that need
>>> not necessarily reflect the filesystem hierarchy.
>>> - It is also possible to decide for each snapshot if it should be
>>> accounted into the parent group. So in a scenario where each
>>> subvolume reflect a user home, it's possible to have some snapshots
>>> accounted to the user and others not (e.g. the ones needed for system
>>> backups).
>>> - Quota information will be stored in new records, possibly in a
>>> separate tree.
>>> - It should be possible to change the Quota config and group
>>> assignments online, though this might need a full re-scan of the fs.
>>> - It does NOT include any kind of user/group (UID/GID) quota.
>>>
>>> Any addenda or arguments why it's impossible or insane welcome.
>>
>> There's a problem in that in some cases, it's possible to get into
>> a situation where you can't *delete* files because you're going over
>> quota. If I have two subvolumes that share most of their data
>> (e.g. one is a snapshot of the other), and both subvolumes have a
>> limit under the "exclusive use" clause, then deleting material from
>> subvolume A could cause subvolume B to go over quota.
>>
>> If users can create their own subvolumes, then using the "exclusive
>> use" form is also pointless, because as a user, I can simply snapshot
>> (or otherwise CoW copy) all my data into a snapshot, and I then don't
>> pay for it. That one probably comes under the "admin shot himself in
>> the foot", though.
>>
>> Getting out the bike-shed brush, I might suggest the use of some
>> name other than "quota", because inevitably people will think of
>> UID/GID-type quotas, and we've got enough confusingly-modified
>> terminology already. "Size bounds", "storage bounds", possibly?
>
> Budget :)?
I wouldn't bother trying to coin a new term. Quota is already widely
in use for non-UID style quotas. ZFS has Filesystem Quotas, NetApp has
Tree Quotas (well, originally Quota Trees). So with calling them
Subvolume Quotas or Subvol Quotas I feel comfortable. This is distinct
enough from "User Quota".
-Arne
>
> Regards,
> Andrey
>
>>
>> Hugo.
>>
>> --
>> === Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
>> PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
>> --- Is it true that "last known good" on Windows XP ---
>> boots into CP/M?
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.10 (GNU/Linux)
>>
>> iD8DBQFN6RAiIKyzvlFcI40RAkkQAKCAulO65dL1F/vaO7W20qJEAKuonwCghfvH
>> XlliA+eCfmLmP/G0quVALe0=
>> =m513
>> -----END PGP SIGNATURE-----
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-06-04 6:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-03 16:24 Quota Implementation Arne Jansen
2011-06-03 16:47 ` Hugo Mills
2011-06-03 20:44 ` Andrey Kuzmin
2011-06-04 6:36 ` Arne Jansen [this message]
2011-06-04 8:04 ` Arne Jansen
2011-06-03 21:18 ` Johannes Hirte
2011-06-04 6:25 ` Arne Jansen
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=4DE9D266.7000403@gmx.net \
--to=sensille@gmx.net \
--cc=andrey.v.kuzmin@gmail.com \
--cc=chris.mason@oracle.com \
--cc=hch@infradead.org \
--cc=hugo@carfax.org.uk \
--cc=linux-btrfs@vger.kernel.org \
--cc=ricwheeler@gmail.com \
/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).