Re: [PATCH v2 00/12] mkfs: Quota support through -R|--runtime quota

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping the 3rd time?

Or should I just rebase the patchset?

Thanks,
Qu

On 2018年03月08日 09:17, Qu Wenruo wrote:
> 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


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux