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' ] #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' Best Regards Ke _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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 > KeHi 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@lists.xensource.com http://lists.xensource.com/xen-devel
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@lists.xensource.com http://lists.xensource.com/xen-devel