[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 17/34] qerror: drop QERR_SOCKET_CONNECT_IN_PROGR
From: |
Amos Kong |
Subject: |
Re: [Qemu-devel] [PATCH 17/34] qerror: drop QERR_SOCKET_CONNECT_IN_PROGRESS |
Date: |
Mon, 6 Aug 2012 03:04:53 -0400 (EDT) |
----- Original Message -----
> [cc: Amos]
>
> Luiz Capitulino <address@hidden> writes:
>
> > This error is currently returned by inet_connect_opts(), however
> > it causes the follow spurious message on HMP:
> >
> > (qemu) migrate tcp:0:4444
> > migrate: Connection can not be completed immediately
We use non-block socket for migration, connect() might return
before connection complete.
However, I agree with remove this note.
> > (qemu)
> >
> > But migration succeeds.
>
> Broken in commit d5c5dacc.
>
> Commit a6ba35b3 earlier in the same series might have broken other
> users
> of inet_connect() and inet_connect_opts() similarly. Would be nice
> to
> know. Whatever was brolen, your patch fixes it, too.
INPROGRESS 'error' will only be returned for non-block socket.
Other users(vnc, nbd) use block socket, and they pass a 'NULL'
to second argument of inet_connect(QemuOpts *opts, Error **errp),
so this Error doesn't effect them.
> > inet_connect_opts() has a 'in_progress' argument that callers can
> > use to check whether a connection is in progress. The QERR_ macro
> > is not needed anymore.
> >
> > PS: I didn't test with QMP, but I guess the migrate command will
> > return an error response.
>
> Plausible.
>
> I'd squash this into PATCH 14, because the purpose of the combined
> patch
> will be obvious. Right now, 14's isn't.
>
> >
> > Signed-off-by: Luiz Capitulino <address@hidden>
> > ---
> > qemu-sockets.c | 2 --
> > qerror.c | 4 ----
> > qerror.h | 3 ---
> > 3 files changed, 9 deletions(-)
> >
> > diff --git a/qemu-sockets.c b/qemu-sockets.c
> > index 82f4736..7196c5f 100644
> > --- a/qemu-sockets.c
> > +++ b/qemu-sockets.c
> > @@ -284,8 +284,6 @@ int inet_connect_opts(QemuOpts *opts, bool
> > *in_progress, Error **errp)
> > if (in_progress) {
> > *in_progress = true;
> > }
> > -
> > - error_set(errp, QERR_SOCKET_CONNECT_IN_PROGRESS);
> > } else if (rc < 0) {
> > if (NULL == e->ai_next)
> > fprintf(stderr, "%s: connect(%s,%s,%s,%s): %s\n",
> > __FUNCTION__,
> > diff --git a/qerror.c b/qerror.c
> > index 691d8a8..33b8780 100644
> > --- a/qerror.c
> > +++ b/qerror.c
> > @@ -309,10 +309,6 @@ static const QErrorStringTable qerror_table[]
> > = {
> > .desc = "Could not start VNC server on %(target)",
> > },
> > {
> > - .error_fmt = QERR_SOCKET_CONNECT_IN_PROGRESS,
> > - .desc = "Connection can not be completed
> > immediately",
> > - },
> > - {
> > .error_fmt = QERR_SOCKET_CONNECT_FAILED,
> > .desc = "Failed to connect to socket",
> > },
> > diff --git a/qerror.h b/qerror.h
> > index de8497d..52ce58d 100644
> > --- a/qerror.h
> > +++ b/qerror.h
> > @@ -240,9 +240,6 @@ char *qerror_format(const char *fmt, QDict
> > *error);
> > #define QERR_VNC_SERVER_FAILED \
> > "{ 'class': 'VNCServerFailed', 'data': { 'target': %s } }"
> >
> > -#define QERR_SOCKET_CONNECT_IN_PROGRESS \
> > - "{ 'class': 'SockConnectInprogress', 'data': {} }"
> > -
> > #define QERR_SOCKET_CONNECT_FAILED \
> > "{ 'class': 'SockConnectFailed', 'data': {} }"
>
- Re: [Qemu-devel] [PATCH 13/34] hmp: hmp_change(): don't rely on QERR_DEVICE_ENCRYPTED, (continued)
- [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Luiz Capitulino, 2012/08/01
- Re: [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Luiz Capitulino, 2012/08/02
- Re: [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Markus Armbruster, 2012/08/02
- Re: [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Luiz Capitulino, 2012/08/02
- Re: [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Amos Kong, 2012/08/06
- Re: [Qemu-devel] [PATCH 15/34] net: inet_connect(), inet_connect_opts(): return -errno, Luiz Capitulino, 2012/08/06
[Qemu-devel] [PATCH 17/34] qerror: drop QERR_SOCKET_CONNECT_IN_PROGRESS, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 16/34] migration: don't rely on QERR_SOCKET_*, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 09/34] qerror: don't delay error message construction, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 18/34] error: drop unused functions, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 21/34] qapi: qapi-types.h: don't include qapi/qapi-types-core.h, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 19/34] block: block_int: include qerror.h, Luiz Capitulino, 2012/08/01
[Qemu-devel] [PATCH 20/34] hmp: hmp.h: include qdict.h, Luiz Capitulino, 2012/08/01