qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] blockdev.c - bug


From: Edivaldo de Araujo Pereira
Subject: [Qemu-devel] blockdev.c - bug
Date: Mon, 14 Oct 2013 17:28:24 -0700 (PDT)

Dear qemu developers,

I've noticed about 3 days ago a bug, apparently introduced by the last massive modifications in blockdev.c, that prevents the use of a cdrom ISO without write permission, like in "qemu-system-i386 -cdrom /some.iso ...", giving the message "could not open disk image /bpd/bpd.iso: Could not open file: Permission denied".

I didn't make a git bisect to identify the offending commit, but, as the problem seemed too simple, I've searched through the source code for references to "cdrom", "fopen", "media" and the like, trying to find any clue. My search was fruitful and I've been succesful in producing and testing the following patch.

I don't know if it is the best solution, as I don't really know the qemu source very well, but it works for me.

Thank you, very much.

Edivaldo de Araújo Pereira


Patch:
-------------------------------------------------------------------------------------------------------
diff -rupN a/blockdev.c b/blockdev.c
--- a/blockdev.c 2013-10-14 13:59:59.000000000 -0300
+++ b/blockdev.c 2013-10-14 20:54:42.342329073 -0300
@@ -709,7 +709,7 @@ DriveInfo *drive_init(QemuOpts *all_opts
}

/* copy-on-read is disabled with a warning for read-only devices */
- read_only = qemu_opt_get_bool(legacy_opts, "read-only", false);
+ read_only = ( qemu_opt_get_bool(legacy_opts, "read-only", false) || media == MEDIA_CDROM );
copy_on_read = qemu_opt_get_bool(legacy_opts, "copy-on-read", false);

if (read_only && copy_on_read) {
-------------------------------------------------------------------------------------------------------

reply via email to

[Prev in Thread] Current Thread [Next in Thread]