From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Xen-changelog] If the 'cdrom=' option is specified in the definition file but media is Date: Mon, 10 Apr 2006 13:29:13 -0500 Message-ID: <443AA3F9.50609@us.ibm.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ross Maxfield List-Id: xen-devel@lists.xenproject.org Xen patchbot -3.0-testing wrote: > # HG changeset patch > # User kaf24@firebug.cl.cam.ac.uk > # Node ID fd526926e0d1c0671295aa7f4b952186c9345173 > # Parent 408f51a850f47af4db20f43f281935909d502511 > If the 'cdrom=' option is specified in the definition file but media is > not found in the CD drive then main() in vl.c exits and the guest appears > to hang. This patch modifies vl.c slightly to check for the presents of > media. If the cdrom cannot be opened then the cd entry is removed from > hd_filename[] and bs_table[] allowing the guest to continue initializing. > If the guest requires the CD media then the guest should report, gracefully > or otherwise, that it's missing. > > From: Ross Maxfield > > Signed-off-by: Keir Fraser > Doesn't this need a Signed-off-by: Ross Maxfield ? Regards, Anthony Liguori > diff -r 408f51a850f4 -r fd526926e0d1 tools/ioemu/vl.c > --- a/tools/ioemu/vl.c Mon Apr 10 16:14:36 2006 > +++ b/tools/ioemu/vl.c Mon Apr 10 16:17:07 2006 > @@ -3243,8 +3243,17 @@ > /* we always create the cdrom drive, even if no disk is there */ > bdrv_init(); > if (has_cdrom) { > - bs_table[2] = bdrv_new("cdrom"); > - bdrv_set_type_hint(bs_table[2], BDRV_TYPE_CDROM); > + int fd; > + if ( (fd = open(hd_filename[2], O_RDONLY | O_BINARY)) < 0) { > + hd_filename[2]=NULL; > + bs_table[2]=NULL; > + fprintf(logfile, "Could not open CD %s.\n", hd_filename[i]); > + } > + else { > + close(fd); > + bs_table[2] = bdrv_new("cdrom"); > + bdrv_set_type_hint(bs_table[2], BDRV_TYPE_CDROM); > + } > } > > /* open the virtual block devices */ > > _______________________________________________ > Xen-changelog mailing list > Xen-changelog@lists.xensource.com > http://lists.xensource.com/xen-changelog >