This patchset will do the following bug fix mostly on incorrect flags. 1) INCONSISTENT flag never cleared bug 2) RESCANNING flag never cleared unless umount.
Also add 2 qgroup level related checks: 1) Kernel check on qgroup assign to ensure dst's level is higher than src. 2) Restrict qgroup id under 1<<48, to ensure qgroup id won't have level higher than 1. At last, add semi-automatic qgroup info update on relationship assign. The automatic part only happens when all extents of src are exclusive. If not, it will set INCONSISTENT flag and return >0 to info user land progs to do rescan. Dongsheng Yang (1): btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota. Qu Wenruo (6): btrfs: Check qgroup level in kernel qgroup assign. btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value. btrfs: Update btrfs qgroup status item when rescan is done. btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations. btrfs: quota: Update quota tree after qgroup relationship change. fs/btrfs/ctree.h | 9 ++- fs/btrfs/ioctl.c | 12 ++++ fs/btrfs/qgroup.c | 203 ++++++++++++++++++++++++++++++++++++++++-------------- 3 files changed, 170 insertions(+), 54 deletions(-) -- 2.3.0 -- 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