Nir Soffer
2021-Nov-07 14:22 UTC
[Libguestfs] [PATCH libnbd 2/2] socket-activation: Allow multiple connections
On Sun, Nov 7, 2021 at 4:00 PM Richard W.M. Jones <rjones at redhat.com> wrote:> > On Sun, Nov 07, 2021 at 03:27:47PM +0200, Nir Soffer wrote: > > When using qemu-nbd with systemd socket activation, trying to connect > > additional clients concurrently fails with: > > > > nbd_connect_uri: connect: server backlog overflowed, see > > https://bugzilla.redhat.com/1925045: Resource temporarily > > unavailable > > > > But this bug was fixed in qemu-nbd long time ago; turns out that libnbd > > has the same bug, creating the server socket with: > > > > listen(s, 1); > > > > Use SOMAXCONN so we can have multiple connections for better > > performance. I think this can be very useful for nbdcopy. > > Apart from the problems in API mentioned in the other review, this > patch ordering isn't bisectable. > > What's the motivation for this patch series?Why is it not bissectable? In general, I like to add first tests before I modify code. In the best case the test also reproduces the issue. Having a failing test in the build is better than having a bug. In this case the test is too simple, we need to use multiple threads to reproduce the issue. We can switch the order if you don't like this approach. Nir
Richard W.M. Jones
2021-Nov-07 14:26 UTC
[Libguestfs] [PATCH libnbd 2/2] socket-activation: Allow multiple connections
On Sun, Nov 07, 2021 at 04:22:26PM +0200, Nir Soffer wrote:> On Sun, Nov 7, 2021 at 4:00 PM Richard W.M. Jones <rjones at redhat.com> wrote: > > > > On Sun, Nov 07, 2021 at 03:27:47PM +0200, Nir Soffer wrote: > > > When using qemu-nbd with systemd socket activation, trying to connect > > > additional clients concurrently fails with: > > > > > > nbd_connect_uri: connect: server backlog overflowed, see > > > https://bugzilla.redhat.com/1925045: Resource temporarily > > > unavailable > > > > > > But this bug was fixed in qemu-nbd long time ago; turns out that libnbd > > > has the same bug, creating the server socket with: > > > > > > listen(s, 1); > > > > > > Use SOMAXCONN so we can have multiple connections for better > > > performance. I think this can be very useful for nbdcopy. > > > > Apart from the problems in API mentioned in the other review, this > > patch ordering isn't bisectable. > > > > What's the motivation for this patch series? > > Why is it not bissectable?Doesn't the test fail after the first patch is applied and before the second one? Rich.> In general, I like to add first tests before I modify code. In the best case > the test also reproduces the issue. Having a failing test in the build is > better than having a bug. > > In this case the test is too simple, we need to use multiple threads to > reproduce the issue. > > We can switch the order if you don't like this approach. > > Nir-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v