On Tue, 6 Nov 2012 14:48:36 -0800, Zach Brown wrote:
>>> Yes, this happens on 32 bit builds, not on 64 bit builds. If you
>>> look at the source code, the compiler is obviously wrong (or I am
>>> blind).
>>>
>>> ret = btrfs_dev_replace_find_srcdev(root, args->start.srcdevid,
>>> args->start.srcdev_name,
>>> &src_device);
>>> mutex_unlock(&fs_info->volume_mutex);
>>> if (ret) { <-- this is line 344
>>>
>>> But thanks for the feedback anyway!
>>
>> This usually means that somewhere in the call tree under
>> btrfs_dev_replace_find_srcdev(), there's a way that the function can
>> return without returning a value
>
> Indeed, and that's obviously the case in 15/26 with
> btrfs_dev_replace_find_srcdev() when btrfs_find_device() returns a
> device.
>
> *mumbles something about the reason for ERR_PTR semantics*
Thanks Bart, Hugo and Zach!
I'll fix it in
git://btrfs.giantdisaster.de/git/btrfs device-replace
--
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