From: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>
Cc: Qu Wenruo <wqu@suse.com>, <linux-btrfs@vger.kernel.org>,
<dsterba@suse.cz>
Subject: Re: [PATCH v2 00/12] mkfs: Quota support through -R|--runtime quota
Date: Tue, 7 Aug 2018 15:02:03 +0800 [thread overview]
Message-ID: <20180807070203.GA3288@fnst.localdomain> (raw)
In-Reply-To: <10cc122a-9bee-fd49-f030-ca5ad65bb330@gmx.com>
On Mon, Jul 30, 2018 at 01:03:00PM +0800, Qu Wenruo wrote:
>Ping the 3rd time?
>
>Or should I just rebase the patchset?
Hi Qu
Could you rebase this patchset? Because I want to test existing test cases
with enabled quota, mkfs_qgroup seems to ease my workload.
--
Thanks,
Lu
>
>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
>>>>
>>>
>>
>
next prev parent reply other threads:[~2018-08-07 9:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-07 8:42 [PATCH v2 00/12] mkfs: Quota support through -R|--runtime quota Qu Wenruo
2017-11-07 8:42 ` [PATCH 1/3] btrfs-progs: mkfs: Introduce quota runtime feature Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 01/12] btrfs-progs: qgroup-verify: Also repair qgroup status version Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 02/12] btrfs-progs: qgroup-verify: Use fs_info->readonly to check if we should repair qgroups Qu Wenruo
2017-11-07 8:42 ` [PATCH 2/3] btrfs-progs: test/mkfs: Add test case for -R quota option Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 03/12] btrfs-progs: qgroup-verify: Move qgroup classification out of report_qgroups Qu Wenruo
2017-11-07 8:42 ` [PATCH 3/3] btrfs-progs: test/mkfs: Add test case for --rootdir and -R quota Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 04/12] btrfs-progs: qgroup-verify: Allow repair_qgroups function to do silent repair Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 05/12] btrfs-progs: ctree: Introduce function to create an empty tree Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 06/12] btrfs-progs: mkfs: Introduce function to insert qgroup info and limit items Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 07/12] btrfs-progs: mkfs: Introduce function to setup quota root and rescan Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 08/12] btrfs-progs: fsfeatures: Introduce a new set of features, runtime_features Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 09/12] btrfs-progs: mkfs: Introduce --runtime-features option Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 10/12] btrfs-progs: mkfs: Introduce quota runtime feature Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 11/12] btrfs-progs: test/mkfs: Add test case for -R quota option Qu Wenruo
2017-11-07 8:42 ` [PATCH v2 12/12] btrfs-progs: test/mkfs: Add test case for --rootdir and -R quota Qu Wenruo
2018-01-11 6:04 ` [PATCH v2 00/12] mkfs: Quota support through -R|--runtime quota Qu Wenruo
2018-03-08 1:17 ` Qu Wenruo
2018-07-30 5:03 ` Qu Wenruo
2018-08-07 7:02 ` Lu Fengqi [this message]
2018-08-07 7:03 ` Qu Wenruo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180807070203.GA3288@fnst.localdomain \
--to=lufq.fnst@cn.fujitsu.com \
--cc=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=quwenruo.btrfs@gmx.com \
--cc=wqu@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).