From: Sargun Dhillon <sargun@sargun.me>
To: linux-btrfs@vger.kernel.org
Cc: quwenruo@cn.fujitsu.com, mkh@rqc.ru
Subject: [PATCH v2 0/4] Qgroup uapi improvements
Date: Fri, 26 May 2017 20:44:17 +0000 [thread overview]
Message-ID: <20170526204414.GA18176@ircssh-2.c.rugged-nimbus-611.internal> (raw)
This patchset has several improvements around the qgroups user-facing
API. It introduces two new ioctls for creating, and removing qgroups.
These ioctls have a new args structure that allows passing flags, and
some reserved fields for future expansion. The ioctls prevent some
operations around level-0 qgroups as well.
The create operation prevents the creation of level-0 qgroups for
subvolumes that do not exist. The delete operations prevents the
deletion of level-0 qgroups that reference active volumes.
In adddition, it adds a mount option "qgroup_auto_cleanup".
When this mount option is specified, qgroups will automatically
be cleaned up at volume deletion time. The reason this is a mount
option over a default behaviour is to avoid breaking old scripts
that rely on the behaviour of the existing APIs. Users can opt
into the new behaviour, as opposed it being an automated
trigger on newly created qgroups. Later on, we can introduce
a flag to subvol / qgroup create that marks the qgroup as
automatically created, and delete the qgroup as automatically
as well.
Changes since v1:
* Remove creation of level-0 qgroups without subvol
* Add deprecation message for old API
Sargun Dhillon (4):
btrfs: Fail on removing qgroup if del_qgroup_item fails
btrfs: Add new ioctl uapis for qgroup creation / removal
btrfs: Warn the user when the legacy btrfs_qgroup_create API is used
btrfs: Add qgroup_auto_cleanup mount flag to automatically cleanup
qgroups
fs/btrfs/ctree.h | 1 +
fs/btrfs/ioctl.c | 117 ++++++++++++++++++++++++++++++++++++++++++++-
fs/btrfs/qgroup.c | 79 ++++++++++++++++++++++++++++--
fs/btrfs/qgroup.h | 6 ++-
fs/btrfs/super.c | 15 +++++-
include/uapi/linux/btrfs.h | 22 +++++++++
6 files changed, 230 insertions(+), 10 deletions(-)
--
2.9.3
next reply other threads:[~2017-05-26 20:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-26 20:44 Sargun Dhillon [this message]
2017-05-26 20:44 ` [PATCH v2 1/4] btrfs: Fail on removing qgroup if del_qgroup_item fails Sargun Dhillon
2017-05-26 20:44 ` [PATCH v2 2/4] btrfs: Add new ioctl uapis for qgroup creation / removal Sargun Dhillon
2017-06-30 16:31 ` David Sterba
2017-05-26 20:44 ` [PATCH v2 3/4] btrfs: Warn the user when the legacy btrfs_qgroup_create API is used Sargun Dhillon
2017-06-30 15:59 ` David Sterba
2017-05-26 20:45 ` [PATCH v2 4/4] btrfs: Add qgroup_auto_cleanup mount flag to automatically cleanup qgroups Sargun Dhillon
2017-06-30 15:53 ` David Sterba
2017-06-23 17:05 ` [PATCH v2 0/4] Qgroup uapi improvements Sargun Dhillon
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=20170526204414.GA18176@ircssh-2.c.rugged-nimbus-611.internal \
--to=sargun@sargun.me \
--cc=linux-btrfs@vger.kernel.org \
--cc=mkh@rqc.ru \
--cc=quwenruo@cn.fujitsu.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).