On Fri, May 26, 2017 at 1:44 PM, Sargun Dhillon <sar...@sargun.me> wrote:
> 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
>

Hey,
I wanted to see what people thought of this. This was the only way I
saw forward that wouldn't break existing scripts, and would allow
users to opt-in to this new behaviour. If y'all think that different
semantics make sense, let me know, and I'll rev this patchset.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to