This patchset can be fetched from github: https://github.com/adam900710/linux/tree/qgroup_inherit_check Which is based on v4.19-rc1 tag.
This patchset will first set btrfs_qgroup_inherit structure size limit from PAGE_SIZE to fixed SZ_4K. I understand this normally will cause compatibility problem, but considering how minor this feature is and no sane guy should use it for over 100 qgroups, it should be fine in real world. The 2nd patch introduce check function for btrfs_qgroup_inherit structure and deprecates the following features: 1) limit set Never utilized by btrfs-progs from the beginning. 2) copy rfer/excl Although btrfs-progs provides support for it as a hidden, undocumented feature, it's the easiest way to screw up qgroup numbers. And we already have patches wondering around the ML to remove such support. The last one will just cleanup the code for unsupported features. Qu Wenruo (3): btrfs: Set qgroup inherit size limit to SZ_4K instead of page size btrfs: qgroup: Validate btrfs_qgroup_inherit structure before passing it to qgroup btrfs: qgroup: Remove deprecated feature support in btrfs_qgorup_inhert() fs/btrfs/ioctl.c | 5 +- fs/btrfs/qgroup.c | 96 ++++++++++++++++---------------------- fs/btrfs/qgroup.h | 2 + include/uapi/linux/btrfs.h | 18 +++---- 4 files changed, 55 insertions(+), 66 deletions(-) -- 2.18.0