[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 30/33] migration: return incoming task tag for fd
From: |
Peter Xu |
Subject: |
[Qemu-devel] [RFC v2 30/33] migration: return incoming task tag for fd |
Date: |
Wed, 30 Aug 2017 16:32:27 +0800 |
Allow to return the task tag in fd_start_incoming_migration().
Signed-off-by: Peter Xu <address@hidden>
---
migration/fd.c | 18 +++++++++++-------
migration/fd.h | 2 +-
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/migration/fd.c b/migration/fd.c
index 30f5258..e9a548c 100644
--- a/migration/fd.c
+++ b/migration/fd.c
@@ -52,7 +52,11 @@ static gboolean fd_accept_incoming_migration(QIOChannel *ioc,
return FALSE; /* unregister */
}
-void fd_start_incoming_migration(const char *infd, Error **errp)
+/*
+ * Returns the tag ID of the watch that is attached to global main
+ * loop (>0), or zero if failure detected.
+ */
+guint fd_start_incoming_migration(const char *infd, Error **errp)
{
QIOChannel *ioc;
int fd;
@@ -63,13 +67,13 @@ void fd_start_incoming_migration(const char *infd, Error
**errp)
ioc = qio_channel_new_fd(fd, errp);
if (!ioc) {
close(fd);
- return;
+ return 0;
}
qio_channel_set_name(QIO_CHANNEL(ioc), "migration-fd-incoming");
- qio_channel_add_watch(ioc,
- G_IO_IN,
- fd_accept_incoming_migration,
- NULL,
- NULL);
+ return qio_channel_add_watch(ioc,
+ G_IO_IN,
+ fd_accept_incoming_migration,
+ NULL,
+ NULL);
}
diff --git a/migration/fd.h b/migration/fd.h
index a14a63c..94cdea8 100644
--- a/migration/fd.h
+++ b/migration/fd.h
@@ -16,7 +16,7 @@
#ifndef QEMU_MIGRATION_FD_H
#define QEMU_MIGRATION_FD_H
-void fd_start_incoming_migration(const char *path, Error **errp);
+guint fd_start_incoming_migration(const char *path, Error **errp);
void fd_start_outgoing_migration(MigrationState *s, const char *fdname,
Error **errp);
--
2.7.4
- [Qemu-devel] [RFC v2 20/33] migration: new message MIG_RP_MSG_RECV_BITMAP, (continued)
- [Qemu-devel] [RFC v2 20/33] migration: new message MIG_RP_MSG_RECV_BITMAP, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 21/33] migration: new cmd MIG_CMD_POSTCOPY_RESUME, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 22/33] migration: new message MIG_RP_MSG_RESUME_ACK, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 23/33] migration: introduce SaveVMHandlers.resume_prepare, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 24/33] migration: synchronize dirty bitmap for resume, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 25/33] migration: setup ramstate for resume, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 26/33] migration: final handshake for the resume, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 27/33] migration: free SocketAddress where allocated, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 28/33] migration: return incoming task tag for sockets, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 29/33] migration: return incoming task tag for exec, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 30/33] migration: return incoming task tag for fd,
Peter Xu <=
- [Qemu-devel] [RFC v2 31/33] migration: store listen task tag, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 32/33] migration: allow migrate_incoming for paused VM, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 33/33] migration: init dst in migration_object_init too, Peter Xu, 2017/08/30