mirror of https://github.com/xemu-project/xemu.git
read-only: allow read-only CDROM with any interface
Signed-off-by: Naphtali Sprei <nsprei@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
f7c11b5350
commit
2db7ad59fc
13
vl.c
13
vl.c
|
@ -1185,19 +1185,16 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
|
||||||
bdrv_flags &= ~BDRV_O_NATIVE_AIO;
|
bdrv_flags &= ~BDRV_O_NATIVE_AIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ro == 1) {
|
if (media == MEDIA_CDROM) {
|
||||||
|
/* CDROM is fine for any interface, don't check. */
|
||||||
|
ro = 1;
|
||||||
|
} else if (ro == 1) {
|
||||||
if (type != IF_SCSI && type != IF_VIRTIO && type != IF_FLOPPY) {
|
if (type != IF_SCSI && type != IF_VIRTIO && type != IF_FLOPPY) {
|
||||||
fprintf(stderr, "qemu: readonly flag not supported for drive with this interface\n");
|
fprintf(stderr, "qemu: readonly flag not supported for drive with this interface\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* cdrom is read-only. Set it now, after above interface checking
|
|
||||||
* since readonly attribute not explicitly required, so no error.
|
|
||||||
*/
|
|
||||||
if (media == MEDIA_CDROM) {
|
|
||||||
ro = 1;
|
|
||||||
}
|
|
||||||
bdrv_flags |= ro ? 0 : BDRV_O_RDWR;
|
bdrv_flags |= ro ? 0 : BDRV_O_RDWR;
|
||||||
|
|
||||||
if (bdrv_open2(dinfo->bdrv, file, bdrv_flags, drv) < 0) {
|
if (bdrv_open2(dinfo->bdrv, file, bdrv_flags, drv) < 0) {
|
||||||
|
|
Loading…
Reference in New Issue