v2v: parse_libvirt_xml: handle srN CDROM devices (RHBZ#1612785)

This device naming is mostly written by virt-p2v, so get the slot from
it directly without using the drive_index "decoding" function.
This commit is contained in:
Pino Toscano
2018-08-09 15:01:37 +02:00
parent a3e8871705
commit c9abaa3e96

View File

@@ -383,6 +383,16 @@ let parse_libvirt_xml ?conn xml =
let target_dev = xpath_string "target/@dev" in
match target_dev with
| None -> None
| Some dev when String.is_prefix dev "sr" ->
(* "srN" devices are found mostly in the physical XML written by
* virt-p2v.
*)
let name = String.sub dev 2 (String.length dev - 2) in
(try Some (int_of_string name)
with Failure _ ->
warning (f_"could not parse device name %s from the source libvirt XML") dev;
None
)
| Some dev ->
let rec loop = function
| [] ->