Fix QEMU failure for disk image on readonly filesystem
PATCH 1/1 Fix QEMU failure for disk image on readonly filesystem
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 21 Aug 2006 16:46:21 -0000 renamed from block.c 19 Aug 2006 11:45:59 -0000 1.34 +2 -2
@@ -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; }
Quoted 8 lines · Stefan Weil
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).
Are you sure it is needed ? I made a different fix a few days ago.
Regards,
Fabrice.
Quoted 8 lines
Are you sure it is needed ? I made a different fix a few days ago.
Regards,
Fabrice.
I wrote my fix before your fix was available.
At least for raw disk images, your fix also works, so at the moment, there is no need for my patch (this should be checked with other kinds of disk images).
Regards,
Stefan