From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Anand Jain <anand.jain@oracle.com>, fstests@vger.kernel.org
Cc: linux-btrfs@vger.kernel.org, david@fromorbit.com
Subject: Re: [PATCH 2/2] fstests: add configuration option for executing post mkfs commands
Date: Thu, 28 Sep 2023 17:10:25 +0930 [thread overview]
Message-ID: <0a8d40fc-501e-4d85-903a-83d9b3508bf5@gmx.com> (raw)
In-Reply-To: <5485cd32-2308-c9c5-4c97-9ff6c74c64dd@oracle.com>
On 2023/9/28 15:04, Anand Jain wrote:
>
>
> On 28/09/2023 12:26, Qu Wenruo wrote:
>>
>>
>> On 2023/9/28 13:53, Anand Jain wrote:
>>> This patch introduces new configuration file parameters,
>>> POST_SCRATCH_MKFS_CMD and POST_SCRATCH_POOL_MKFS_CMD.
>>>
>>> Usage example:
>>>
>>> POST_SCRATCH_MKFS_CMD="btrfstune -m"
>>> POST_SCRATCH_POOL_MKFS_CMD="btrfstune -m"
>>
>> Can't we add extra options for mkfs.btrfs to support metadata uuid at
>> mkfs time?
>>
>> We already support quota and all other features, I think it would be
>> much easier to implement metadata_uuid inside mkfs.
>>
>> If this feature is only for metadata_uuid, then I really prefer to do it
>> inside mkfs.btrfs.
>
> Thanks for the comments.
>
> The use of btrfstune -m is just an example; any other command,
> function, or script can be assigned to the variable POST_SCRATCH_xx.
The last time I tried something like this, I got strong objection from
some guy in the XFS community.
Just good luck if you can have a better chance.
>
> Now, regarding updating mkfs.btrfs with the btrfstune -m feature,
> why not? It simplifies testing. However, can we identify a use case
> other than testing?
For consistency, I believe all (at the ones we can enable) features
should have a mkfs equivalent at least.
(And can get around the the test limitations for sure)
Thanks,
Qu
>
> Thanks, Anand
>
>>
>> Thanks,
>> Qu
>>>
>>> With this configuration option, test cases using _scratch_mkfs(),
>>> scratch_pool_mkfs(), or _scratch_mkfs_sized() will run the above
>>> set value after the mkfs operation.
>>>
>>> Other mkfs functions, such as _mkfs_dev(), are not connected to the
>>> POST_SCRATCH_MKFS_CMD.
>>>
>>> Signed-off-by: Anand Jain <anand.jain@oracle.com>
>>> ---
>>> common/btrfs | 35 +++++++++++++++++++++++++++++++++++
>>> 1 file changed, 35 insertions(+)
>>>
>>> diff --git a/common/btrfs b/common/btrfs
>>> index 798c899f6233..b0972e882c7c 100644
>>> --- a/common/btrfs
>>> +++ b/common/btrfs
>>> @@ -690,17 +690,48 @@ _require_btrfs_scratch_logical_resolve_v2()
>>> _scratch_unmount
>>> }
>>>
>>> +post_scratch_mkfs_cmd()
>>> +{
>>> + if [[ -v POST_SCRATCH_MKFS_CMD ]]; then
>>> + echo "$POST_SCRATCH_MKFS_CMD $SCRATCH_DEV"
>>> + $POST_SCRATCH_MKFS_CMD $SCRATCH_DEV
>>> + return $?
>>> + fi
>>> +
>>> + return 0
>>> +}
>>> +
>>> +post_scratch_pool_mkfs_cmd()
>>> +{
>>> + if [[ -v POST_SCRATCH_POOL_MKFS_CMD ]]; then
>>> + echo "$POST_SCRATCH_POOL_MKFS_CMD $SCRATCH_DEV_POOL"
>>> + $POST_SCRATCH_POOL_MKFS_CMD $SCRATCH_DEV_POOL
>>> + return $?
>>> + fi
>>> +
>>> + return 0
>>> +}
>>> +
>>> _scratch_mkfs_retry_btrfs()
>>> {
>>> # _scratch_do_mkfs() may retry mkfs without $MKFS_OPTIONS
>>> _scratch_do_mkfs "$MKFS_BTRFS_PROG" "cat" $*
>>>
>>> + if [[ $? == 0 ]]; then
>>> + post_scratch_mkfs_cmd
>>> + fi
>>> +
>>> return $?
>>> }
>>>
>>> _scratch_mkfs_btrfs()
>>> {
>>> $MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV
>>> +
>>> + if [[ $? == 0 ]]; then
>>> + post_scratch_mkfs_cmd
>>> + fi
>>> +
>>> return $?
>>> }
>>>
>>> @@ -708,5 +739,9 @@ _scratch_pool_mkfs_btrfs()
>>> {
>>> $MKFS_BTRFS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV_POOL
>>>
>>> + if [[ $? == 0 ]]; then
>>> + post_scratch_pool_mkfs_cmd
>>> + fi
>>> +
>>> return $?
>>> }
next prev parent reply other threads:[~2023-09-28 7:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-28 4:23 [PATCH 0/2] fstests: add config option to run after mkfs Anand Jain
2023-09-28 4:23 ` [PATCH 1/2] fstests: btrfs streamlining mkfs command for post-mkfs operations Anand Jain
2023-09-28 4:23 ` [PATCH 2/2] fstests: add configuration option for executing post mkfs commands Anand Jain
2023-09-28 4:26 ` Qu Wenruo
2023-09-28 5:34 ` Anand Jain
2023-09-28 7:40 ` Qu Wenruo [this message]
2023-10-06 5:17 ` Dave Chinner
2023-10-09 12:18 ` Anand Jain
2023-10-06 6:09 ` Darrick J. Wong
2023-10-06 6:46 ` Qu Wenruo
2023-10-06 22:12 ` Dave Chinner
2023-10-07 2:45 ` Qu Wenruo
2023-10-09 12:23 ` Anand Jain
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=0a8d40fc-501e-4d85-903a-83d9b3508bf5@gmx.com \
--to=quwenruo.btrfs@gmx.com \
--cc=anand.jain@oracle.com \
--cc=david@fromorbit.com \
--cc=fstests@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/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