[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/9] tools: Use real async.c instead of stubs
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 4/9] tools: Use real async.c instead of stubs |
Date: |
Wed, 16 Mar 2011 11:47:56 +0100 |
It's wrong to call BHs directly, even in tools. The only operations that
schedule BHs are called in a loop that (indirectly) contains a call to
qemu_bh_poll anyway, so we're not losing the scheduled BHs: Tools either use
synchronous functions, which are guaranteed to have completed (including any
BHs) when they return; or if they use asynchronous functions, they need to call
qemu_aio_wait() or similar functions already today.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
---
Makefile.objs | 4 ++--
qemu-tool.c | 47 ++++-------------------------------------------
2 files changed, 6 insertions(+), 45 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index a52f42f..167ccc2 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -13,7 +13,7 @@ oslib-obj-$(CONFIG_POSIX) += oslib-posix.o
#######################################################################
# block-obj-y is code used by both qemu system emulation and qemu-img
-block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o
+block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o
async.o
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
@@ -63,7 +63,7 @@ common-obj-y = $(block-obj-y) blockdev.o
common-obj-y += $(net-obj-y)
common-obj-y += $(qobject-obj-y)
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
-common-obj-y += readline.o console.o cursor.o async.o qemu-error.o
+common-obj-y += readline.o console.o cursor.o qemu-error.o
common-obj-y += $(oslib-obj-y)
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
diff --git a/qemu-tool.c b/qemu-tool.c
index 392e1c9..d45840d 100644
--- a/qemu-tool.c
+++ b/qemu-tool.c
@@ -56,53 +56,10 @@ void monitor_print_filename(Monitor *mon, const char
*filename)
{
}
-void async_context_push(void)
-{
-}
-
-void async_context_pop(void)
-{
-}
-
-int get_async_context_id(void)
-{
- return 0;
-}
-
void monitor_protocol_event(MonitorEvent event, QObject *data)
{
}
-QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque)
-{
- QEMUBH *bh;
-
- bh = qemu_malloc(sizeof(*bh));
- bh->cb = cb;
- bh->opaque = opaque;
-
- return bh;
-}
-
-int qemu_bh_poll(void)
-{
- return 0;
-}
-
-void qemu_bh_schedule(QEMUBH *bh)
-{
- bh->cb(bh->opaque);
-}
-
-void qemu_bh_cancel(QEMUBH *bh)
-{
-}
-
-void qemu_bh_delete(QEMUBH *bh)
-{
- qemu_free(bh);
-}
-
int qemu_set_fd_handler2(int fd,
IOCanReadHandler *fd_read_poll,
IOHandler *fd_read,
@@ -111,3 +68,7 @@ int qemu_set_fd_handler2(int fd,
{
return 0;
}
+
+void qemu_notify_event(void)
+{
+}
--
1.7.2.3
- [Qemu-devel] [PULL 0/9] Block patches, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 2/9] block/qcow: Don't ignore immediate read/write and other failures, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 1/9] block/vdi: Don't ignore immediate read/write failures, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 5/9] Don't allow multiwrites against a block device without underlying medium, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 3/9] Add error message for loading snapshot without VM state, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 4/9] tools: Use real async.c instead of stubs,
Kevin Wolf <=
- [Qemu-devel] [PATCH 6/9] Fix ATA SMART and CHECK POWER MODE, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 7/9] Improve error handling in do_snapshot_blkdev(), Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 8/9] hw/xen_disk: aio_inflight not released in handling ioreq when nr_segments==0, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 9/9] Add qcow2 documentation, Kevin Wolf, 2011/03/16
- [Qemu-devel] Re: [PULL 0/9] Block patches, Kevin Wolf, 2011/03/21