From: Stefan Hajnoczi Date: Mon, 18 Aug 2014 15:07:13 +0000 (+0100) Subject: virtio-blk: allow drive_del with dataplane X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~633^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3255d1c21f364774390061fbc3b8e25c027cc862;p=sdk%2Femulator%2Fqemu.git virtio-blk: allow drive_del with dataplane Now that drive_del acquires the AioContext we can safely allow deleting the drive. As with non-dataplane mode, all I/Os submitted by the guest after drive_del will return EIO. This patch makes hot unplug work with virtio-blk dataplane. Previously drive_del reported an error because the device was busy. Signed-off-by: Stefan Hajnoczi --- diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c index c07adc6..b55188c 100644 --- a/hw/block/dataplane/virtio-blk.c +++ b/hw/block/dataplane/virtio-blk.c @@ -194,6 +194,7 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *blk, error_setg(&s->blocker, "block device is in use by data plane"); bdrv_op_block_all(blk->conf.bs, s->blocker); bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_RESIZE, s->blocker); + bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_DRIVE_DEL, s->blocker); *dataplane = s; }