[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 12/47] Handle bi-directional communication fo
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v4 12/47] Handle bi-directional communication for fd migration |
Date: |
Mon, 3 Nov 2014 14:12:44 +1100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Oct 03, 2014 at 06:47:18PM +0100, Dr. David Alan Gilbert (git) wrote:
> From: Cristian Klein <address@hidden>
This patch really, really requires a rationale in the commit message.
The reason it's necessary is certainly not obvious.
>
> Signed-off-by: Cristian Klein <address@hidden>
> ---
> migration-fd.c | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/migration-fd.c b/migration-fd.c
> index d2e523a..129da99 100644
> --- a/migration-fd.c
> +++ b/migration-fd.c
> @@ -31,13 +31,29 @@
> do { } while (0)
> #endif
>
> +static bool fd_is_socket(int fd)
> +{
> + struct stat stat;
> + int ret = fstat(fd, &stat);
> + if (ret == -1) {
> + /* When in doubt say no */
> + return false;
> + }
> + return S_ISSOCK(stat.st_mode);
> +}
> +
> void fd_start_outgoing_migration(MigrationState *s, const char *fdname,
> Error **errp)
> {
> int fd = monitor_get_fd(cur_mon, fdname, errp);
> if (fd == -1) {
> return;
> }
> - s->file = qemu_fdopen(fd, "wb");
> +
> + if (fd_is_socket(fd)) {
> + s->file = qemu_fopen_socket(fd, "wb");
> + } else {
> + s->file = qemu_fdopen(fd, "wb");
> + }
>
> migrate_fd_connect(s);
> }
> @@ -58,7 +74,11 @@ void fd_start_incoming_migration(const char *infd, Error
> **errp)
> DPRINTF("Attempting to start an incoming migration via fd\n");
>
> fd = strtol(infd, NULL, 0);
> - f = qemu_fdopen(fd, "rb");
> + if (fd_is_socket(fd)) {
> + f = qemu_fopen_socket(fd, "rb");
> + } else {
> + f = qemu_fdopen(fd, "rb");
> + }
> if(f == NULL) {
> error_setg_errno(errp, errno, "failed to open the source
> descriptor");
> return;
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
pgpdRodQpyFnP.pgp
Description: PGP signature
- Re: [Qemu-devel] [PATCH v4 12/47] Handle bi-directional communication for fd migration,
David Gibson <=