From: Anand Jain <Anand.Jain@oracle.com>
To: Chris Mason <clm@fb.com>
Cc: Sam Thursfield <sam.thursfield@codethink.co.uk>,
linux-btrfs@vger.kernel.org, baserock-dev@baserock.org
Subject: Re: Unable to mount multiple subvolumes of a single disk
Date: Wed, 17 Sep 2014 17:47:14 +0800 [thread overview]
Message-ID: <541958A2.1030204@oracle.com> (raw)
In-Reply-To: <541839E5.5030006@fb.com>
Hi Chris,
>> -------
>> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
>> index e9676a4..1224b61 100644
>> --- a/fs/btrfs/volumes.c
>> +++ b/fs/btrfs/volumes.c
>> @@ -533,7 +533,7 @@ static noinline int device_list_add(const char *path,
>> * the btrfs dev scan cli, after FS has been mounted.
>> */
>> if (fs_devices->opened) {
>> - return -EBUSY;
>> + goto out;
>> } else {
>> /*
>> * That is if the FS is _not_ mounted and if you
>> @@ -566,6 +566,7 @@ static noinline int device_list_add(const char *path,
>> if (!fs_devices->opened)
>> device->generation = found_transid;
>>
>> +out:
>> *fs_devices_ret = fs_devices;
>>
>> return ret;
>
> Anand, are you planning on sending a full patch out for this? One concern
> I have is that after the device_list_add call:
>
>
> if (!ret && fs_devices_ret)
> (*fs_devices_ret)->total_devices = total_devices;
>
> We should only be doing this from the newest super, not blindly overwriting.
> But that's a merge window fix. For now I just want to deal with the regression,
> and your patch above looks good.
>
> Thanks for jumping on this one.
Sorry for the trouble.
yes, I will be sending a full patch. I am finding too difficult
to revive the function btrfs_scan_one_device() which is predominately
to handle device scan and list_update _before_ any mount. Further
to the concern which you mention above, there is Ioctl
BTRFS_IOC_DEV_READY also using this function, which absolutely should
not have any intention to update the device list, but it does ..
theoretically. And I note that this ioctl is used by systemd as well.
So the fix is getting a bit complicated. I am attempting.
Thanks, Anand
> -chris
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2014-09-17 9:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 15:13 Unable to mount multiple subvolumes of a single disk Sam Thursfield
2014-09-15 15:54 ` Chris Mason
2014-09-15 16:09 ` Anand Jain
2014-09-15 17:13 ` Sam Thursfield
2014-09-15 17:21 ` Anand Jain
2014-09-15 17:42 ` Anand Jain
2014-09-16 7:46 ` Paul Sherwood
2014-09-16 21:08 ` Stefan G. Weichinger
2014-09-16 21:53 ` Anand Jain
2014-09-17 4:41 ` Anand Jain
2014-09-15 20:38 ` xavier.gnata
2014-09-16 13:23 ` Chris Mason
2014-09-17 9:47 ` Anand Jain [this message]
2014-09-17 13:21 ` Chris Mason
2014-09-22 12:04 ` Stefan G. Weichinger
2014-09-15 16:42 ` Anand Jain
2014-09-15 17:15 ` Sam Thursfield
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=541958A2.1030204@oracle.com \
--to=anand.jain@oracle.com \
--cc=baserock-dev@baserock.org \
--cc=clm@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=sam.thursfield@codethink.co.uk \
/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.