The guestfs_canonical_device_name API was rewriting /dev/mdX as /dev/sdX. This is wrong since (eg) /dev/sd0 is not a device name, so if you pass the canonicalized name back to the API it will fail. virt-v2v was one tool doing this. --- src/canonical-name.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/canonical-name.c b/src/canonical-name.c index ae7b468..d72768f 100644 --- a/src/canonical-name.c +++ b/src/canonical-name.c @@ -35,6 +35,7 @@ guestfs_impl_canonical_device_name (guestfs_h *g, const char *device) /* /dev/hd etc. */ if (STRPREFIX (device, "/dev/") && strchr (device+5, '/') == NULL && /* not an LV name */ + device[5] != 'm' && /* not /dev/md - RHBZ#1414682 */ ((len = strcspn (device+5, "d")) > 0 && len <= 2)) { ret = safe_asprintf (g, "/dev/sd%s", &device[5+len+1]); } -- 2.9.3