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

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



Ewan Mellor wrote:
> 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.

OK, I see the patch. This approach is better. Thank you. 

Best Regards
Ke

_______________________________________________
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®.