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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html