[Libguestfs] [PATCH virt-v2v 1/2] v2v: -o rhv-upload: Split plugin functions from create/finalize

Richard W.M. Jones rjones at redhat.com
Tue Aug 3 19:50:20 UTC 2021


On Tue, Aug 03, 2021 at 02:39:44PM -0500, Eric Blake wrote:
> If the other end of the http connection is not multi-conn consistent,
> then you do indeed have to flush ALL of the http connections; at which
> point, you are somewhat recreating the effects of the nbdkit
> multi-conn filter.  However, the multi-conn filter only knows how to
> propagate flush across openings into the plugin, and not into the pool
> of http connections embedded within the plugin, so the duplication is
> probably necessary rather than relying on the filter.

Eric refers to https://libguestfs.org/nbdkit-multi-conn-filter.1.html
in multi-conn-mode=emulate mode.

> > 
> > close:
> > - called once per nbd connection
> > - close all connections on first call
> > - does nothing on later call
> 
> Or do you want it to be more reference-counted, where it leaves all
> connections open until the LAST nbd connection is closed?

This was a mistake in the patch I posted.  In my copy, close() is not
present and instead the pool is closed in .cleanup:

  def cleanup():
      close_http_pool(pool)

This requires the following nbdkit change:

https://gitlab.com/nbdkit/nbdkit/-/commit/f2fe99e4b0f54467ab8028eaf2d039cf918b2961

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list