All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Knut Omang <knut.omang@oracle.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v7 0/4] Unit test+fix for problem with QEMU handling of multiple bind()s to the same port
Date: Mon, 7 Aug 2017 15:02:00 +0100	[thread overview]
Message-ID: <20170807140200.GL18259@redhat.com> (raw)
In-Reply-To: <cover.9aca98788e1a99635ffb85ab9c01cb0497d2b3d8.1502103332.git-series.knut.omang@oracle.com>

On Mon, Aug 07, 2017 at 12:58:38PM +0200, Knut Omang wrote:
> This series contains:
> * a unit test that exposes a race condition which causes QEMU to fail
>   to find a port even when there is plenty of available ports.
> * a refactor of the qemu-sockets inet_listen_saddr() function
>   to better handle this situation.
> 
> Changes from v6:
> * Changed license of the (new) test-listen.c source file from
>   GNU v2 to GNU v2 and later, according to QEMU standards.
> 
> Changes from v5:
> * Also move setting of error from socket creation out
>   into the main double for loop.
> * Simplify and enhance reporting if socket creation fails:
>   Only report failure to create sockets if none of the
>   provided addrinfo list elements allows creation of a
>   socket, otherwise report failure to find an available port.
> * Further simplify if's within the for loops and make sure
>   failure to recreate a socket gets distinctively reported.
> * Rebased to current master.
> 
> Changes from v4:
> * Move the complexity of recreating a socket and setting the error pointer
>   into the main for loop, eliminating the try_bind_listen() function
>   again. Cleaning up and improving error handling in the process.
> 
> Changes from v3:
> * Test changes: Add missing license
>   Add subtests for ipv4, ipv6 and both
>   Various g_* usage improvements
> * Split patch into 3 patches with two refactoring patches ahead
>   of the actual fix.
> 
> Changes from v2:
> * Non-trivial rebase + further abstraction
>   on top of 7ad9af343c7f1c70c8015c7c519c312d8c5f9fa1
>   'tests: add functional test validating ipv4/ipv6 address flag handling'
> 
> Changes from v1:
> * Fix potential uninitialized variable only detected by optimize.
> * Improve unexpected error detection in test-listen to give more
>   details about why the test fails unexpectedly.
> * Fix some line length style issues.
> 
> Thanks,
> Knut
> 
> Knut Omang (4):
>   tests: Add test-listen - a stress test for QEMU socket listen
>   sockets: factor out a new try_bind() function
>   sockets: factor out create_fast_reuse_socket
>   sockets: Handle race condition between binds to the same port
> 
>  tests/Makefile.include |   2 +-
>  tests/test-listen.c    | 253 ++++++++++++++++++++++++++++++++++++++++++-
>  util/qemu-sockets.c    | 138 +++++++++++++++--------
>  3 files changed, 345 insertions(+), 48 deletions(-)
>  create mode 100644 tests/test-listen.c
> 
> base-commit: a588c4985eff363154d65aee8607d0a4601655f7

Thanks, queued for 2.11

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

      parent reply	other threads:[~2017-08-07 14:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-07 10:58 [Qemu-devel] [PATCH v7 0/4] Unit test+fix for problem with QEMU handling of multiple bind()s to the same port Knut Omang
2017-08-07 10:58 ` [Qemu-devel] [PATCH v7 1/4] tests: Add test-listen - a stress test for QEMU socket listen Knut Omang
2017-08-07 10:58 ` [Qemu-devel] [PATCH v7 2/4] sockets: factor out a new try_bind() function Knut Omang
2017-08-07 10:58 ` [Qemu-devel] [PATCH v7 3/4] sockets: factor out create_fast_reuse_socket Knut Omang
2017-08-07 10:58 ` [Qemu-devel] [PATCH v7 4/4] sockets: Handle race condition between binds to the same port Knut Omang
2017-08-07 14:02 ` Daniel P. Berrange [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170807140200.GL18259@redhat.com \
    --to=berrange@redhat.com \
    --cc=knut.omang@oracle.com \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.