Ping?

Or do I need to rebase the patchset?

Thanks,
Qu

On 2017年11月07日 16:42, Qu Wenruo wrote:
> Can be fetched from github:
> https://github.com/adam900710/btrfs-progs/tree/mkfs_qgroup
> 
> 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 specified qgroup
>    c) quota limit for specified qgroup
> 
>    Currently only 0/5 qgroup is passed.
>    If we're going to support extra subvolume at mkfs time, just pass the
>    subvolume id into insert_qgroup_items().
> 
>    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, before 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.
> 
> 
> BTW with -R|--runtime-features, we have several possible target to add.
> Not limited to such ioctl based operation, but also mount option based
> ones.
> Like space-cache-tree (space_cache=v2).
> 
> 
> Qu Wenruo (12):
>   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
> 
>   ^^^ Above patches are not modified at all ^^^
>   vvv Modification starts below vvv
> 
>   btrfs-progs: mkfs: Introduce function to setup quota root and rescan
>   btrfs-progs: fsfeatures: Introduce a new set of features,
>     runtime_features
>   btrfs-progs: mkfs: Introduce --runtime-features option
>   btrfs-progs: mkfs: Introduce quota runtime feature
>   btrfs-progs: test/mkfs: Add test case for -R quota option
>   btrfs-progs: test/mkfs: Add test case for --rootdir and -R quota
> 
>  Documentation/mkfs.btrfs.asciidoc              |  23 +++
>  cmds-check.c                                   |   2 +-
>  convert/main.c                                 |   4 +-
>  ctree.c                                        | 109 ++++++++++++++
>  ctree.h                                        |   3 +
>  fsfeatures.c                                   | 131 ++++++++++++++---
>  fsfeatures.h                                   |  10 +-
>  mkfs/main.c                                    | 194 
> ++++++++++++++++++++++---
>  qgroup-verify.c                                |  51 +++++--
>  qgroup-verify.h                                |   2 +-
>  tests/mkfs-tests/001-basic-profiles/test.sh    |  10 ++
>  tests/mkfs-tests/010-rootdir-and-quota/test.sh |  51 +++++++
>  12 files changed, 529 insertions(+), 61 deletions(-)
>  create mode 100755 tests/mkfs-tests/010-rootdir-and-quota/test.sh
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to