block: Remove bdrv_ioctl()
authorKevin Wolf <kwolf@redhat.com>
Thu, 20 Oct 2016 12:40:22 +0000 (14:40 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 27 Oct 2016 17:05:23 +0000 (19:05 +0200)
It is unused now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
block/io.c
include/block/block.h

index 7c119d5113b287141d7c39c11420aa7d9e9be4f6..35fdcca747d7d01e5f4f4b3e948786fa130bbdf8 100644 (file)
@@ -2518,43 +2518,6 @@ out:
     return co.ret;
 }
 
-typedef struct {
-    BlockDriverState *bs;
-    int req;
-    void *buf;
-    int ret;
-} BdrvIoctlCoData;
-
-static void coroutine_fn bdrv_co_ioctl_entry(void *opaque)
-{
-    BdrvIoctlCoData *data = opaque;
-    data->ret = bdrv_co_ioctl(data->bs, data->req, data->buf);
-}
-
-/* needed for generic scsi interface */
-int bdrv_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
-{
-    BdrvIoctlCoData data = {
-        .bs = bs,
-        .req = req,
-        .buf = buf,
-        .ret = -EINPROGRESS,
-    };
-
-    if (qemu_in_coroutine()) {
-        /* Fast-path if already in coroutine context */
-        bdrv_co_ioctl_entry(&data);
-    } else {
-        Coroutine *co = qemu_coroutine_create(bdrv_co_ioctl_entry, &data);
-
-        qemu_coroutine_enter(co);
-        while (data.ret == -EINPROGRESS) {
-            aio_poll(bdrv_get_aio_context(bs), true);
-        }
-    }
-    return data.ret;
-}
-
 static void coroutine_fn bdrv_co_aio_ioctl_entry(void *opaque)
 {
     BlockAIOCBCoroutine *acb = opaque;
index e06db62ad3e17cfb6e95e8277742451a2f3a72c7..e0a54aa81655e6818e38e5a30e1f40c78bc146ed 100644 (file)
@@ -319,7 +319,6 @@ void bdrv_aio_cancel_async(BlockAIOCB *acb);
 
 /* sg packet commands */
 int bdrv_co_ioctl(BlockDriverState *bs, int req, void *buf);
-int bdrv_ioctl(BlockDriverState *bs, unsigned long int req, void *buf);
 BlockAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
         unsigned long int req, void *buf,
         BlockCompletionFunc *cb, void *opaque);