[Libvir] [PATCH] Fix failure of HVM domain definition on Xen 3.0.3 or earlier(BZ328841)

Daniel Veillard veillard at redhat.com
Thu Nov 1 13:47:21 UTC 2007


On Thu, Nov 01, 2007 at 05:37:00PM +0900, Masayuki Sunou wrote:
> In message <20071031134628.GG8217 at redhat.com>
>    "Re: [Libvir] [PATCH] Fix failure of HVM domain definition on Xen 3.0.3 or earlier(BZ328841)"
>    "Daniel Veillard <veillard at redhat.com>" wrote:
> 
> Hi
> 
> > > 
> > > VirDomainDefineXML() fails, when HVM domain using CD-ROM is created
> > > on Xen 3.0.3 or earlier.
> > >  -->BZ328841(https://bugzilla.redhat.com/show_bug.cgi?id=328841)
> > > 
> > > One of attached patches (define.patch) fixes it.
> > 
> >   Could you please explain the patch, it changes the XML parsing and
> > seems to change the S-Expr generation. How ? Providing examples or 
> > explanations of how the patch works will help.
> > 
> This patch converts XML without the source element
> which virt-install makes as follows.
> 
> <disk type='file' device='cdrom'>    convert
>   <target dev='hdc'/>              ----------->  disk = [ ",hdc:cdrom,r" ]
>   <readonly/>
> </disk>
> 
> [Detail]
> 1. This does not fail when the source element doesn't exist
>    and device is CD-ROM.
> 2. This adjusts the size of source to 0 in calculating buflen
>    when the source element doesn't exist.
> 3. This outputs source to the configuration file as before
>    when the source element exists.
>    And this doesn't output source to the configuration file
>    when the source element doesn't exist.
> 4. This does not free source in cleanup when the source
>    element doesn't exist.
> 

  okay, now it makes far more sense to me. I understand the logic of
what you're trying to achieve. Applied and commited to CVS, thanks a lot !

> > > But, when domain is started by virsh start using the configuration
> > > file created by fixing this,
> > > the problem that the CD-ROM device is missed occurs.
> > > 
> > > So, another patch (start.patch) fixes this problem.
> > > 
> > > Signed-off-by: Masayuki Sunou <fj1826dm at aa.jp.fujitsu.com>
> > 
> >   Again this seems to change parsing of S-Expr input to accept
> > an empty value. Could you explain what this patch does, i.e. 
> > what kind of input is being targetted and what is changed by
> > the patch.
> > 
> This patch fixes to accept the following forms as mentioned above. 
> 
>   disk = [ ",hdc:cdrom,r" ]
> 
> I think that libvirt should analyze this form, because it exists
> also in the sample of Xen. (/etc/xen/xmexample.hvm)

  okay, understood however your change then skips the initialization of
tmp which the compiler complained might be used later in that block
of code (though I think it's actually not possible, but it's better to
avoid warnings). Since tmp is a reference to src and src is the empty
string in this case I just added tmp = &src[0]; to the block initializing
drvName, I hope it's okay,
  That done I applied and commited that change too,

   thanks a lot for the patch and explanations,

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list