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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html