linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
>>>>
>>>
>> 
>



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