* [Qemu-devel] qemu -cdrom /dev/cdrom opens the cdrom for RW and fails w/ RO devices (linux)
@ 2006-08-09 12:41 Artur Skawina
0 siblings, 0 replies; only message in thread
From: Artur Skawina @ 2006-08-09 12:41 UTC (permalink / raw)
To: qemu-devel, Fabrice Bellard
[-- Attachment #1: Type: text/plain, Size: 416 bytes --]
recently (probably since the AIO code went in) qemu opens the cdrom device like this:
> open("/dev/cdrom", O_RDWR|O_LARGEFILE) = -1 EROFS (Read-only file system)
which obviously fails and qemu quits w/ an error message about being unable to access the cdrom.
Patch below makes a RO -cdrom device work (but doesn't necessarily address the real bug - should qemu really be opening cdrom devices for rw?)
artur
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 559 bytes --]
diff -urNp qemu.org/block.c qemu/block.c
--- qemu.org/block.c 2006-08-07 21:36:12.000000000 +0000
+++ qemu/block.c 2006-08-08 13:05:01.000000000 +0000
@@ -332,7 +332,7 @@ int bdrv_open2(BlockDriverState *bs, con
else
open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
ret = drv->bdrv_open(bs, filename, open_flags);
- if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
+ if ((ret == -EACCES || ret == -EROFS) && !(flags & BDRV_O_FILE)) {
ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
bs->read_only = 1;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-08-09 12:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-09 12:41 [Qemu-devel] qemu -cdrom /dev/cdrom opens the cdrom for RW and fails w/ RO devices (linux) Artur Skawina
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.