From: "Ross Maxfield" <rmaxfiel@novell.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH] Missing CDROM media
Date: Mon, 10 Apr 2006 09:57:35 -0600 [thread overview]
Message-ID: <443A2AA0.DD28.00D3.0@novell.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 562 bytes --]
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.
I would like to see this patch applied to 3.0.2-testing as well.
Thanks,
Ross
[-- Attachment #2: missing_media.patch --]
[-- Type: application/octet-stream, Size: 884 bytes --]
diff -r 4ed269ac7d84 tools/ioemu/vl.c
--- a/tools/ioemu/vl.c Mon Apr 10 13:24:58 2006 +0100
+++ b/tools/ioemu/vl.c Mon Apr 10 09:49:36 2006 -0600
@@ -3245,8 +3245,17 @@ int main(int argc, char **argv)
/* 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 */
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2006-04-10 15:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-10 15:57 Ross Maxfield [this message]
2006-04-10 18:27 ` [PATCH] Missing CDROM media Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=443A2AA0.DD28.00D3.0@novell.com \
--to=rmaxfiel@novell.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.