On Fri, Oct 27, 2017 at 03:29:28PM +0800, Qu Wenruo wrote:
>This patchset adds quota support, which means the result fs will have
>quota enabled by default, and its accounting is already consistent, no
>manually rescan or quota enable is needed.
>
>The overall design of such support is:
>1) Create needed tree
>   Both btrfs_root and real root item and tree root leaf.
>   For this, a new infrastructure, btrfs_create_tree(), is added for
>   this.
>
>2) Fill quota root with basic skeleton
>   Only 3 items are really needed
>   a) global quota status item
>   b) quota info for 0/5 qgroup
>   c) quota limit for 0/5 qgroup
>
>   The content doesn't matter at all.
>
>3) Repair qgroups using infrastructure from qgroup-verify
>   In fact, qgroup repair is just offline rescan.
>   Although the original qgroup-verify infrastructure is mostly noisy,
>   modify it a little to make it silent to function as offline quota
>   rescan.
>
>And such support is mainly designed for developers and QA guys.
>
>As to enable quota, we must normally mount the fs, enable quota (and
>rescan if needed).
>This ioctl based procedure is not common, and fstests doesn't provide
>such support.
>
>There are several attempts to make fstests to support it, but due to
>different reasons, all these attempts failed.
>
>To make it easier to test all existing test cases with btrfs quota
>enabled, the current best method is to support quota at mkfs time, and
>here comes the patchset.
>

In addition to some trivial problems mentioned earlier, all series of
patches look good to me.

Reviewed-by: Lu Fengqi <lufq.f...@cn.fujitsu.com>

-- 
Thanks,
Lu

>Qu Wenruo (8):
>  btrfs-progs: qgroup-verify: Also repair qgroup status version
>  btrfs-progs: qgroup-verify: Use fs_info->readonly to check if we
>    should repair qgroups
>  btrfs-progs: qgroup-verify: Move qgroup classification out of
>    report_qgroups
>  btrfs-progs: qgroup-verify: Allow repair_qgroups function to do silent
>    repair
>  btrfs-progs: ctree: Introduce function to create an empty tree
>  btrfs-progs: mkfs: Introduce function to insert qgroup info and limit
>    items
>  btrfs-progs: mkfs: Introduce option to enable quota at mkfs time
>  btrfs-progs: test/mkfs: Add test case for --enable-quota option
>
> Documentation/mkfs.btrfs.asciidoc           |   3 +
> cmds-check.c                                |   2 +-
> ctree.c                                     | 109 ++++++++++++++++++++++
> ctree.h                                     |   3 +
> mkfs/main.c                                 | 136 +++++++++++++++++++++++++++-
> qgroup-verify.c                             |  51 ++++++++---
> qgroup-verify.h                             |   2 +-
> tests/mkfs-tests/001-basic-profiles/test.sh |  10 ++
> 8 files changed, 302 insertions(+), 14 deletions(-)
>
>-- 
>2.14.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
>
>


--
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