[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 13/13] block: drop raw_get_aio_fd()
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2 13/13] block: drop raw_get_aio_fd() |
Date: |
Mon, 15 Jul 2013 22:43:02 +0800 |
virtio-blk data plane only worked with -drive format=raw,aio=native. It
used raw_get_aio_fd() to fetch the file descriptor from raw-posix. This
was a layering violation and is no longer necessary now that virtio-blk
data plane uses the QEMU block layer.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
block/raw-posix.c | 34 ----------------------------------
include/block/block.h | 8 --------
2 files changed, 42 deletions(-)
diff --git a/block/raw-posix.c b/block/raw-posix.c
index e8eb396..116b4d3 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -1903,40 +1903,6 @@ static BlockDriver bdrv_host_cdrom = {
};
#endif /* __FreeBSD__ */
-#ifdef CONFIG_LINUX_AIO
-/**
- * Return the file descriptor for Linux AIO
- *
- * This function is a layering violation and should be removed when it becomes
- * possible to call the block layer outside the global mutex. It allows the
- * caller to hijack the file descriptor so I/O can be performed outside the
- * block layer.
- */
-int raw_get_aio_fd(BlockDriverState *bs)
-{
- BDRVRawState *s;
-
- if (!bs->drv) {
- return -ENOMEDIUM;
- }
-
- if (bs->drv == bdrv_find_format("raw")) {
- bs = bs->file;
- }
-
- /* raw-posix has several protocols so just check for raw_aio_readv */
- if (bs->drv->bdrv_aio_readv != raw_aio_readv) {
- return -ENOTSUP;
- }
-
- s = bs->opaque;
- if (!s->use_aio) {
- return -ENOTSUP;
- }
- return s->fd;
-}
-#endif /* CONFIG_LINUX_AIO */
-
static void bdrv_file_init(void)
{
/*
diff --git a/include/block/block.h b/include/block/block.h
index 977d5f6..cb44f27 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -365,14 +365,6 @@ void bdrv_disable_copy_on_read(BlockDriverState *bs);
void bdrv_set_in_use(BlockDriverState *bs, int in_use);
int bdrv_in_use(BlockDriverState *bs);
-#ifdef CONFIG_LINUX_AIO
-int raw_get_aio_fd(BlockDriverState *bs);
-#else
-static inline int raw_get_aio_fd(BlockDriverState *bs)
-{
- return -ENOTSUP;
-}
-#endif
enum BlockAcctType {
BDRV_ACCT_READ,
--
1.8.1.4
- [Qemu-devel] [PATCH v2 03/13] virtio-blk: implement BlockDevOps->drain_threads_cb(), (continued)
- [Qemu-devel] [PATCH v2 03/13] virtio-blk: implement BlockDevOps->drain_threads_cb(), Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 04/13] exec: do not use qemu/tls.h, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 05/13] qemu-thread: add TLS wrappers, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 06/13] block: add thread_aio_context TLS variable, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 07/13] block: drop bdrv_get_aio_context(), Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 09/13] linux-aio: bind EventNotifier to current AioContext, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 08/13] main-loop: use thread-local AioContext, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 10/13] block: disable I/O throttling outside main loop, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 11/13] dataplane: use block layer for I/O, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 12/13] dataplane: drop ioq Linux AIO request queue, Stefan Hajnoczi, 2013/07/15
- [Qemu-devel] [PATCH v2 13/13] block: drop raw_get_aio_fd(),
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH v2 00/13] dataplane: use block layer, Paolo Bonzini, 2013/07/15