[Libguestfs] [PATCH] v2v: parse_libvirt_xml: number disks from 0 (RHBZ#1615885)

Richard W.M. Jones rjones at redhat.com
Tue Aug 14 15:44:30 UTC 2018


On Tue, Aug 14, 2018 at 05:32:08PM +0200, Pino Toscano wrote:
> On Tuesday, 14 August 2018 16:53:02 CEST Richard W.M. Jones wrote:
> > On Tue, Aug 14, 2018 at 04:04:10PM +0200, Pino Toscano wrote:
> > > When parsing the libvirt XML, make sure to assign the IDs for disks
> > > (s_disk_id) from 0 instead of 1, just like all the other input modes not
> > > based on libvirt XML.
> > > ---
> > >  v2v/parse_libvirt_xml.ml | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/v2v/parse_libvirt_xml.ml b/v2v/parse_libvirt_xml.ml
> > > index 78a6e71c0..dac99511c 100644
> > > --- a/v2v/parse_libvirt_xml.ml
> > > +++ b/v2v/parse_libvirt_xml.ml
> > > @@ -246,7 +246,7 @@ let parse_libvirt_xml ?conn xml =
> > >    (* Non-removable disk devices. *)
> > >    let disks =
> > >      let get_disks, add_disk =
> > > -      let disks = ref [] and i = ref 0 in
> > > +      let disks = ref [] and i = ref (-1) in
> > >        let get_disks () = List.rev !disks in
> > >        let add_disk qemu_uri format controller p_source =
> > >          incr i;
> > 
> > NACK.  The s_disk_id field is supposed to just be a unique ID and
> > -i libvirt is giving it a unique value here so it's not wrong.
> 
> I did not say it is wrong, just that the way IDs are allocated here
> is different than in other input modes.

Well sure you can commit this patch, but it's not a fix for the BZ
(although it may incidentally fix it).  We still need my patch to fix
the cause of the bug.

(See also the other v2v patch I posted which verifies that the IDs are
actually unique.)

> > The problem with this bug is that the output driver used the s_disk_id
> > field assuming it was a unique, monotonically increasing number
> > counting from 0.  (See my other patch to fix that)
> 
> OK, this I can agree with.  Would it be possible to add this paragraph
> to the commit message of the patch?

Yes, and remove (RHBZ#...) from the title.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v




More information about the Libguestfs mailing list