diff options
author | Kevin Wolf | 2017-01-24 13:43:31 +0100 |
---|---|---|
committer | Kevin Wolf | 2017-02-28 20:40:36 +0100 |
commit | a17c17a274f24f0c0259f89d288f29b8ce0511aa (patch) | |
tree | 592723a71539dd34bdb76b7fe74f9898be7dcb90 /hw/sd | |
parent | block: Allow error return in BlockDevOps.change_media_cb() (diff) | |
download | qemu-a17c17a274f24f0c0259f89d288f29b8ce0511aa.tar.gz qemu-a17c17a274f24f0c0259f89d288f29b8ce0511aa.tar.xz qemu-a17c17a274f24f0c0259f89d288f29b8ce0511aa.zip |
hw/block: Request permissions
This makes all device emulations with a qdev drive property request
permissions on their BlockBackend. The only thing we block at this point
is resizing images for some devices that can't support it.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'hw/sd')
-rw-r--r-- | hw/sd/sd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 8e31491089..ba47bff4db 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1887,6 +1887,7 @@ static void sd_instance_finalize(Object *obj) static void sd_realize(DeviceState *dev, Error **errp) { SDState *sd = SD_CARD(dev); + int ret; if (sd->blk && blk_is_read_only(sd->blk)) { error_setg(errp, "Cannot use read-only drive as SD card"); @@ -1894,6 +1895,11 @@ static void sd_realize(DeviceState *dev, Error **errp) } if (sd->blk) { + ret = blk_set_perm(sd->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE, + BLK_PERM_ALL, errp); + if (ret < 0) { + return; + } blk_set_dev_ops(sd->blk, &sd_block_ops, sd); } } |