On 09/17/2014 05:47 AM, Anand Jain wrote:
> 
> 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.

No problem, the original patch looked right to me too.  We're getting
closer to rc6, I think at this point I'll revert the original patch
until the next merge window.  Then we can step back and nail down
exactly what is going on.

-chris

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to