From: Nikolay Borisov <nborisov@suse.com>
To: Graham Cobb <g.btrfs@cobb.uk.net>,
Anand Jain <anand.jain@oracle.com>,
linux-btrfs@vger.kernel.org
Subject: Re: [Not TLS] Re: [PATCH 3/4] btrfs: include non-missing as a qualifier for the latest_bdev
Date: Fri, 4 Oct 2019 12:20:38 +0300 [thread overview]
Message-ID: <9afcea1a-649f-20c5-b66c-1bbc3bbffec5@suse.com> (raw)
In-Reply-To: <8f0fd5a3-c389-b39a-6f22-a17e25cff481@cobb.uk.net>
On 4.10.19 г. 12:08 ч., Graham Cobb wrote:
> On 04/10/2019 09:11, Nikolay Borisov wrote:
>>
>>
>> On 4.10.19 г. 10:50 ч., Anand Jain wrote:
>>> btrfs_free_extra_devids() reorgs fs_devices::latest_bdev
>>> to point to the bdev with greatest device::generation number.
>>> For a typical-missing device the generation number is zero so
>>> fs_devices::latest_bdev will never point to it.
>>>
>>> But if the missing device is due to alienating [1], then
>>> device::generation is not-zero and if it is >= to rest of
>>> device::generation in the list, then fs_devices::latest_bdev
>>> ends up pointing to the missing device and reports the error
>>> like this [2]
>>>
>>> [1]
>>> mkfs.btrfs -fq /dev/sdd && mount /dev/sdd /btrfs
>>> mkfs.btrfs -fq -draid1 -mraid1 /dev/sdb /dev/sdc
>>> sleep 3 # avoid racing with udev's useless scans if needed
>>> btrfs dev add -f /dev/sdb /btrfs
>>
>> Hm, here I think the correct way is to refuse adding /dev/sdb to an
>> existing fs if it's detected to be part of a different one. I.e it
>> should require wipefs to be done.
>
> I disagree. -f means "force overwrite of existing filesystem on the
> given disk(s)". It shouldn't be any different whether the existing fs is
> btrfs or something else.
You are right, looking at btrfs device add implementation though it
seems that wipefs is being done on the device to be added:
cmd_device_add
btrfs_prepare_device
btrfs_wipe_existing_sb
So if the device to be added is formatted and then it goes through
btrfs_init_new_device which commits the transaction which in turns
rewrites the sb then why is the error happening in the first place?
>
> Graham
>
next prev parent reply other threads:[~2019-10-04 9:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-04 7:49 [PATCH 0/4] btrfs: fix issues due to alien device Anand Jain
2019-10-04 7:50 ` [PATCH 1/4] btrfs: drop useless goto in open_fs_devices Anand Jain
2019-10-04 8:12 ` Nikolay Borisov
2019-10-04 7:50 ` [PATCH 2/4] btrfs: delete identified alien device " Anand Jain
2019-10-04 8:18 ` Nikolay Borisov
2019-10-06 2:47 ` [PATCH v2 " Anand Jain
2019-10-06 11:44 ` Nikolay Borisov
2019-10-06 2:51 ` [PATCH " Anand Jain
2019-10-04 7:50 ` [PATCH 3/4] btrfs: include non-missing as a qualifier for the latest_bdev Anand Jain
2019-10-04 8:11 ` Nikolay Borisov
2019-10-04 9:08 ` [Not TLS] " Graham Cobb
2019-10-04 9:20 ` Nikolay Borisov [this message]
2019-10-04 7:50 ` [PATCH 4/4] btrfs: free alien device due to device add Anand Jain
2019-10-04 8:19 ` [PATCH 0/4] btrfs: fix issues due to alien device Nikolay Borisov
2019-10-07 9:42 ` 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=9afcea1a-649f-20c5-b66c-1bbc3bbffec5@suse.com \
--to=nborisov@suse.com \
--cc=anand.jain@oracle.com \
--cc=g.btrfs@cobb.uk.net \
--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.