Re: [Libguestfs] [nbdkit PATCH v2 0/8] Support parallel transactions within single connection

2017-11-21 Thread Eric Blake
On 11/21/2017 01:38 PM, Eric Blake wrote:
> On 11/21/2017 04:31 AM, Richard W.M. Jones wrote:
>>
>> ACK series.
>>
>> I'll do an upstream release once you've pushed this.
> 
> I've pushed the two series that you've reviewed, and have finally posted
> my parallel nbd series; once that is reviewed, I agree that we are ready
> for a release.
> 
> There's other things that may still be worth adding to the nbd forwarder
> over time (auto-fragmenting of large requests down to the 32M limits
> mentioned in the spec, or even configurable down to the 1M limit of
> ancient qemu 2.5;

Correction - qemu 1.5 had the super-small limit (see qemu commit
2d821488, as well as 476b923c).

Hmm - is it time to flip nbdkit to prefer newstyle (rather than
oldstyle) as its default?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Libguestfs mailing list
Libguestfs@redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs

Re: [Libguestfs] [nbdkit PATCH v2 0/8] Support parallel transactions within single connection

2017-11-21 Thread Eric Blake
On 11/21/2017 04:31 AM, Richard W.M. Jones wrote:
> 
> ACK series.
> 
> I'll do an upstream release once you've pushed this.

I've pushed the two series that you've reviewed, and have finally posted
my parallel nbd series; once that is reviewed, I agree that we are ready
for a release.

There's other things that may still be worth adding to the nbd forwarder
over time (auto-fragmenting of large requests down to the 32M limits
mentioned in the spec, or even configurable down to the 1M limit of
ancient qemu 2.5; allowing a TCP address and port rather than just a
Unix socket; incorporating TLS client communications to allow 'old
client => Unix => nbd => encrypted TCP => new server' as a nice
counterpart to our existing 'new client => encrypted TCP => nbd => Unix
=> old server'; implementing upstream NBD extensions such as NBD_OPT_GO
support) - but I don't plan to write them this week, so they aren't a
reason to hold up an upstream release.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Libguestfs mailing list
Libguestfs@redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs

Re: [Libguestfs] [nbdkit PATCH v2 0/8] Support parallel transactions within single connection

2017-11-21 Thread Richard W.M. Jones

ACK series.

I'll do an upstream release once you've pushed this.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

___
Libguestfs mailing list
Libguestfs@redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs


[Libguestfs] [nbdkit PATCH v2 0/8] Support parallel transactions within single connection

2017-11-20 Thread Eric Blake
I've posted some of these patches or ideas before; but now I'm
confident enough with the series that it should be ready to push;
at any rate, I can now run test-socket-activation in a tight loop
without triggering any crashes or hangs.

With this in place, I'm going back to work on making the nbd
forwarder wort with the parallel thread model.

Eric Blake (8):
  sockets: Use pipe-to-self to avoid hanging in poll
  cleanup: Add ACQUIRE_LOCK_FOR_CURRENT_SCOPE()
  connections: Add read/write lock over client I/O
  connections: Add thread-safe status indicator
  connections: Set up thread pool for handling client requests
  core: Add --threads option for supporting true parallel requests
  tests: Annotate Makefile.am conditionals
  tests: Test parallel behavior

 TODO|   7 -
 configure.ac|  11 +-
 docs/nbdkit.pod |  12 +-
 nbdkit.in   |   2 +-
 plugins/file/file.c |   2 +-
 src/cleanup.c   |   8 +-
 src/connections.c   | 316 ++--
 src/internal.h  |  14 +-
 src/main.c  |  39 +-
 src/plugins.c   |   8 ++
 src/sockets.c   |  14 +-
 tests/Makefile.am   |  55 +---
 tests/test-parallel-file.sh |  71 ++
 13 files changed, 414 insertions(+), 145 deletions(-)
 create mode 100755 tests/test-parallel-file.sh

-- 
2.13.6

___
Libguestfs mailing list
Libguestfs@redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs