From: Qu Wenruo <wqu@suse.com>
To: HAN Yuwei <hrx@bupt.moe>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] btrfs-progs: subvolume: output the prompt line only when the ioctl succeeded
Date: Tue, 27 Feb 2024 16:01:35 +1030 [thread overview]
Message-ID: <86a7ec99-cbe6-428d-83e6-bdf0841164d0@suse.com> (raw)
In-Reply-To: <425BE5D91F8099A5+e6a0c36f-3b56-4b3a-9459-6e2cc0918019@bupt.moe>
在 2024/2/27 15:29, HAN Yuwei 写道:
>> [BUG]
>> With the latest kernel patch to reject invalid qgroupids in
>> btrfs_qgroup_inherit structure, "btrfs subvolume create" or "btrfs
>> subvolume snapshot" can lead to the following output:
>>
>> # mkfs.btrfs -O quota -f $dev
>> # mount $dev $mnt
>> # btrfs subvolume create -i 2/0 $mnt/subv1
>> Create subvolume '/mnt/btrfs/subv1'
>> ERROR: cannot create subvolume: No such file or directory
>>
>> The "btrfs subvolume" command output the first line, seemingly to
>> indicate a successful subvolume creation, then followed by an error
>> message.
>>
>> This can be a little confusing on whether if the subvolume is created or
>> not.
>>
>> [FIX]
>> Fix the output by only outputting the regular line if the ioctl
>> succeeded.
>>
>> Signed-off-by: Qu Wenruo <wqu@suse.com>
>> ---
>> cmds/subvolume.c | 21 +++++++++++----------
>> 1 file changed, 11 insertions(+), 10 deletions(-)
>>
>> diff --git a/cmds/subvolume.c b/cmds/subvolume.c
>> index 00c5eacfa694..1549adaca642 100644
>> --- a/cmds/subvolume.c
>> +++ b/cmds/subvolume.c
>> @@ -229,7 +229,6 @@ static int create_one_subvolume(const char *dst,
>> struct btrfs_qgroup_inherit *in
>> goto out;
>> }
>> - pr_verbose(LOG_DEFAULT, "Create subvolume '%s/%s'\n", dstdir,
>> newname);
>> if (inherit) {
>> struct btrfs_ioctl_vol_args_v2 args;
>> @@ -253,6 +252,7 @@ static int create_one_subvolume(const char *dst,
>> struct btrfs_qgroup_inherit *in
>> error("cannot create subvolume: %m");
>> goto out;
>> }
>> + pr_verbose(LOG_DEFAULT, "Create subvolume '%s/%s'\n", dstdir,
>> newname);
>
>
> How about saying "Created subvolume %s/%s" ?
Sounds pretty reasonable, would go that way in the next update.
Thanks,
Qu
>
>
>> out:
>> close(fddst);
>> @@ -754,16 +754,8 @@ static int cmd_subvolume_snapshot(const struct
>> cmd_struct *cmd, int argc, char *
>> if (fd < 0)
>> goto out;
>> - if (readonly) {
>> + if (readonly)
>> args.flags |= BTRFS_SUBVOL_RDONLY;
>> - pr_verbose(LOG_DEFAULT,
>> - "Create a readonly snapshot of '%s' in '%s/%s'\n",
>> - subvol, dstdir, newname);
>> - } else {
>> - pr_verbose(LOG_DEFAULT,
>> - "Create a snapshot of '%s' in '%s/%s'\n",
>> - subvol, dstdir, newname);
>> - }
>> args.fd = fd;
>> if (inherit) {
>> @@ -784,6 +776,15 @@ static int cmd_subvolume_snapshot(const struct
>> cmd_struct *cmd, int argc, char *
>> retval = 0; /* success */
>> + if (readonly)
>> + pr_verbose(LOG_DEFAULT,
>> + "Create a readonly snapshot of '%s' in '%s/%s'\n",
>> + subvol, dstdir, newname);
>> + else
>> + pr_verbose(LOG_DEFAULT,
>> + "Create a snapshot of '%s' in '%s/%s'\n",
>> + subvol, dstdir, newname);
>> +
>> out:
>> close(fddst);
>> close(fd);
next prev parent reply other threads:[~2024-02-27 5:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-27 4:11 [PATCH] btrfs-progs: subvolume: output the prompt line only when the ioctl succeeded Qu Wenruo
2024-02-27 4:59 ` HAN Yuwei
2024-02-27 5:31 ` Qu Wenruo [this message]
2024-03-01 12:56 ` David Sterba
2024-03-26 20:23 ` Boris Burkov
2024-03-26 20:27 ` Qu Wenruo
2024-03-26 20:30 ` Qu Wenruo
2024-03-26 20:34 ` Boris Burkov
2024-03-26 22:44 ` David Sterba
2024-03-26 20:33 ` Boris Burkov
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=86a7ec99-cbe6-428d-83e6-bdf0841164d0@suse.com \
--to=wqu@suse.com \
--cc=hrx@bupt.moe \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.