diff options
author | Markus Armbruster <armbru@redhat.com> | 2010-06-28 19:10:36 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2010-07-06 17:05:50 +0200 |
commit | 7aa9c811ca0761918a0252d0f923a80224953fa6 (patch) | |
tree | ddc1ba5ca17f9f9f9ff63c493dce0e295762c3b7 /hw | |
parent | c4d74df726cb3791d9f1661b58067df5608b627e (diff) | |
download | qemu-7aa9c811ca0761918a0252d0f923a80224953fa6.tar.gz qemu-7aa9c811ca0761918a0252d0f923a80224953fa6.tar.bz2 qemu-7aa9c811ca0761918a0252d0f923a80224953fa6.zip |
ide: Reject readonly drives unless CD-ROM
drive_init() doesn't permit option readonly for if=ide, but that's
worthless: we get it via if=none and -device.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/ide/core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c index dbb7accca0..3b84bea5cf 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2617,6 +2617,11 @@ int ide_init_drive(IDEState *s, BlockDriverState *bs, if (bdrv_get_type_hint(bs) == BDRV_TYPE_CDROM) { s->drive_kind = IDE_CD; bdrv_set_change_cb(bs, cdrom_change_cb, s); + } else { + if (bdrv_is_read_only(bs)) { + error_report("Can't use a read-only drive"); + return -1; + } } if (serial) { strncpy(s->drive_serial_str, serial, sizeof(s->drive_serial_str)); |