On 09/15/2014 12:09 PM, Anand Jain wrote:
>
> Sam,
>
> Thanks for reporting. Can you apply the following diff
> on top of 3.17rc5 and check if it helps.
>
> -------
> 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.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html