[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] cdrom config change break HVM reboot



On Thu, Aug 24, 2006 at 02:00:42PM +0800, Yu, Ke wrote:

> Ewan Mellor wrote:
> > On Wed, Aug 23, 2006 at 11:08:42PM +0800, Yu, Ke wrote:
> > 
> >> Hi Christian,
> >> 
> >> In cset 10921 "Use xenstore to configure ioemu block devices", a
> >> empty cdrom entry is added in /etc/xen/xmexample.hvm: 
> >> 
> >> disk = [ 'file:/var/images/min-el3-i386.img,hda,w', ',hdc:cdrom,r' ]
> >> 
> >> this actually breaks the HVM reboot in ia32e, since the UNAME of
> >> cdrom entry is None and control panel reboot logic can not handle
> >> this.  
> >> 
> >> When I try the following config, the reboot works.
> >> 
> >> disk = [ 'file:/var/images/min-el3-i386.img,hda,w',
> >> 'file:/var/image/cdrom.iso,hdc:cdrom,r' ] 
> >> 
> >> Per my understanding, when user want to use cdrom, they should
> >> specify a physical ISO file or device,  a empty cdrom entry is not
> >> valid. So I suggest the follwing simple patch, how do you think?  
> >> 
> >> diff -r b688d4a68a3e tools/examples/xmexample.hvm
> >> --- a/tools/examples/xmexample.hvm      Tue Aug 22 14:59:16 2006
> >> +0100 +++ b/tools/examples/xmexample.hvm      Wed Aug 23 22:48:46
> >> 2006 +0800 @@ -70,7 +70,8 @@ vif = [ 'type=ioemu, bridge=xenbr0' ]
> >>  # and MODE is r for read-only, w for read-write.
> >> 
> >>  #disk = [ 'phy:hda1,hda1,r' ]
> >> -disk = [ 'file:/var/images/min-el3-i386.img,hda,w', ',hdc:cdrom,r' ]
> >> +#disk = [ 'file:/var/images/min-el3-i386.img,hda,w',
> >> 'file:/var/images/cdrom.iso,hdc:cdrom,r' ] +disk = [
> >> 'file:/var/images/min-el3-i386.img,hda,w' ] 
> > 
> > An empty CD-ROM drive seems like a reasonable thing to me.  Can we
> > not just fix the reboot logic in Xend instead?
> > 
> > At the least, could I see the xend.log for this?
> > 
> > Thanks,
> > 
> > Ewan.
> 
> The xend.log is attached. Fixing reboot logic in Xend is also fine to me. 
> 
> root cause: uname of cdrom is ":" when domain first created. After reboot, 
> uname become None since blkif.py did not generate uname for empty cdrom 
> entry, which cause exception. the following patch can fix this issue: 
> 
> diff -r b688d4a68a3e tools/python/xen/xend/server/blkif.py
> --- a/tools/python/xen/xend/server/blkif.py   Tue Aug 22 14:59:16 2006 +0100
> +++ b/tools/python/xen/xend/server/blkif.py   Thu Aug 24 10:12:15 2006 +0800
> @@ -107,7 +107,7 @@ class BlkifController(DevController):
>              if dev_type:
>                  dev += ":" + dev_type
>              result.append(['dev', dev])
> -        if typ and params:
> +        if typ and params or ":cdrom" in dev:      # allow empty cdrom
>              result.append(['uname', typ + ":" + params])
>          if mode:
>              result.append(['mode', mode])
> 
> Best Regards
> Ke

Hi Ke,

I was a little worried by the way your patch deliberately makes a uname
of ':' -- that seems like it could just cause problems in the future.
I've just put in a slightly larger patch that copes with the empty uname
in image.py, and also should give better error reporting in blkif.py
too.  This fixes all the reconfiguration and reboot problems that I've
seen.

Thanks,

Ewan.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.