On 3/5/21 5:31 PM, Eric Blake wrote:
As promised in an earlier patch, get rid of the temporary
nbdkit_backend_reopen, and replace it with the finer-grained
combination of nbdkit_context_get_backend, nbdkit_context_next_open,
nbdkit_context_next_close, and nbdkit_context_set_next. Update the
I'm updating this commit message to match the actual API names in the
patch body.
retry filter to use the new API. Change the (temporary)
preprocessor
guard from NBDKIT_RETRY_FILTER to NBDKIT_TYPESAFE (will be dropped
later once more filters are converted). Drop the now-unused
backend_reopen() function. Expose .prepare and .finalize callbacks
into struct nbdkit_next_ops for use during manual context
manipulation.
With this in place, it is now possible for a filter to open more than
one context into the backend from a single connection (shown here in
the retry filter), and conversely to share a single backend context
across multiple connections (an upcoming patch will demonstrate this
in the ext2 filter, although TODO mentions a few more steps we need to
get there).
---
+
+=head3 C<nbdkit_context_get_backend>
+
+=head3 C<nbdkit_next_context_open>
+
+=head3 C<nbdkit_next_context_close>
+
+=head3 C<nbdkit_context_set_next>
+
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org