Hello,

qemu fails when the disk image file is writable but on
a readonly filesystem (so it is not really writable).

The patch below fixes this. It also declares a local
function "static" (maybe this part of the patch is a
matter of taste).

Regards,
Stefan


--- block.c     19 Aug 2006 11:45:59 -0000      1.34
+++ block.c     21 Aug 2006 16:46:21 -0000
@@ -110,7 +110,7 @@
 }


-void bdrv_register(BlockDriver *bdrv)
+static void bdrv_register(BlockDriver *bdrv)
 {
     if (!bdrv->bdrv_aio_read) {
         /* add AIO emulation layer */
@@ -359,7 +359,7 @@
     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;
     }



_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to