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;
|
||||
}
|
||||
|
||||
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) {
|
||||
fprintf(stderr, "qemu: readonly flag not supported for drive with this interface\n");
|
||||
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;
|
||||
|
||||
if (bdrv_open2(dinfo->bdrv, file, bdrv_flags, drv) < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user