On Fri, Jan 19, 2018 at 05:27:53PM -0600, Eric Blake wrote:
> +This is called when a new client connection is opened and can
be used
> +to allocate any per-connection data structures needed by the filter.
> +The handle (which is not the same as the plugin handle) is passed back
> +to other filter callbacks and could be freed in the C<.close>
> +callback.
> +
> +Note that the handle is completely opaque to nbdkit, but it must not
> +be NULL.
> +
> +If there is an error, C<.open> should call C<nbdkit_error> with an
> +error message and return C<NULL>.
No documentation about setting the underlying layers read-only (useful
in a copy-on-write or copy-on-read filter)? Also, is it possible to
write a filter that is read-only to the client, but must be able to
write to the plugin?
I was leaving this intentionally hazy because I'm not precisely sure
of the rules myself. I'm going to have a go at caching
[ie. copy-on-read] and copy-on-write filters, which may clarify
things.
I made the other changes you suggested.
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