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