Ping again.

Since David is planning to merge qgroup patchset, this feature would
greatly improve test coverage.

Thanks,
Qu

On 2018年01月11日 14:04, Qu Wenruo wrote:
> 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