This patchset contains some improvements to qgroups. It changes the semantics around how qgroups are dealt with when subvolumes are deleted, and it also adds two new ioctls for qgroup deletion and addition.
The new semantic around qgroup removal is that when the qgroup_nokeep mount flag is set, it when a subvolume is deleted, the associated level-0 qgroup will also be removed. This does not trickle up to high level qgroups. In addition, it adds two new ioctls for qgroup addition and removal which have flags to protect against creating qgroups for non-existent volumes, and in addition flags to prevent the deletion of qgroups that are associated with volumes. Sargun Dhillon (8): btrfs: Split up btrfs_remove_qgroup, no logic changes btrfs: Fail on removing qgroup if del_qgroup_item fails btrfs: Split up btrfs_create_qgroup, no logic changes btrfs: autoremove qgroup by default, and add a mount flag to override btrfs: qgroup.h whitespace change btrfs: Add code to check if a qgroup's subvol exists btrfs: Add code to prevent qgroup creation for a non-existent subvol btrfs: Add new ioctl uapis for qgroup creation / removal fs/btrfs/ctree.h | 1 + fs/btrfs/ioctl.c | 116 ++++++++++++++++++++++++++++++++++++- fs/btrfs/qgroup.c | 140 ++++++++++++++++++++++++++++++++++----------- fs/btrfs/qgroup.h | 6 +- fs/btrfs/super.c | 16 +++++- include/uapi/linux/btrfs.h | 23 ++++++++ 6 files changed, 264 insertions(+), 38 deletions(-) -- 2.9.3 -- 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