diff options
author | Kevin Wolf <kwolf@redhat.com> | 2017-01-24 14:21:41 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2017-02-28 20:40:36 +0100 |
commit | 39829a01ae524788c68dc0794e6912faa898eb75 (patch) | |
tree | 782efad2d4de3a29885b310b50032b0f766890f3 /include | |
parent | c62d32f503b37322a3960bad4cd4cdb69947d81e (diff) | |
download | qemu-39829a01ae524788c68dc0794e6912faa898eb75.zip qemu-39829a01ae524788c68dc0794e6912faa898eb75.tar.gz qemu-39829a01ae524788c68dc0794e6912faa898eb75.tar.bz2 |
block: Allow error return in BlockDevOps.change_media_cb()
Some devices allow a media change between read-only and read-write
media. They need to adapt the permissions in their .change_media_cb()
implementation, which can fail. So add an Error parameter to the
function.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/block/block_int.h | 2 | ||||
-rw-r--r-- | include/sysemu/block-backend.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index 63d5446..e00d0f4 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -891,7 +891,7 @@ void bdrv_format_default_perms(BlockDriverState *bs, BdrvChild *c, uint64_t *nperm, uint64_t *nshared); const char *bdrv_get_parent_name(const BlockDriverState *bs); -void blk_dev_change_media_cb(BlockBackend *blk, bool load); +void blk_dev_change_media_cb(BlockBackend *blk, bool load, Error **errp); bool blk_dev_has_removable_media(BlockBackend *blk); bool blk_dev_has_tray(BlockBackend *blk); void blk_dev_eject_request(BlockBackend *blk, bool force); diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h index 0861113..b23f683 100644 --- a/include/sysemu/block-backend.h +++ b/include/sysemu/block-backend.h @@ -34,7 +34,7 @@ typedef struct BlockDevOps { * changes. Sure would be useful if it did. * Device models with removable media must implement this callback. */ - void (*change_media_cb)(void *opaque, bool load); + void (*change_media_cb)(void *opaque, bool load, Error **errp); /* * Runs when an eject request is issued from the monitor, the tray * is closed, and the medium is locked. |