[Libguestfs] [nbdkit PATCH] Update filters to support FUA flags.
Eric Blake
eblake at redhat.com
Fri Jan 19 16:45:51 UTC 2018
On 01/19/2018 10:23 AM, Eric Blake wrote:
> From: "Richard W.M. Jones" <rjones at redhat.com>
Whoops, that's supposed to be attributed to me as author if we keep this
patch separate from your work (I was still attributing it to you when I
had squashed it into your earlier patches, so this was a rebase artifact).
>
> This patch may be worth squashing?
> ---
> docs/nbdkit-filter.pod | 65 +++++++++++++++++++++++++++++++++++++++++++------
> include/nbdkit-filter.h | 29 ++++++++++++----------
> src/filters.c | 55 ++++++++++++++++++++---------------------
> 3 files changed, 101 insertions(+), 48 deletions(-)
>
> @@ -333,11 +342,21 @@ message B<and> set C<errno>, then return C<-1>.
>
> int (*pwrite) (struct nbdkit_next_ops *next_ops, void *nxdata,
> void *handle,
> - const void *buf, uint32_t count, uint64_t offset);
> + const void *buf, uint32_t count, uint64_t offset,
> + uint32_t flags);
>
> This intercepts the plugin C<.pwrite> method and can be used to modify
> data written by the plugin.
>
> +At this time, flags may include C<NBDKIT_FLAG_FUA> on input based on
> +the result of C<.can_flush>. In turn, the filter may only pass
> +C<NBDKIT_FLAG_FUA> on to C<next_ops->pwrite> if C<next_ops->can_flush>
> +returned true.
> +
> +This function will not be called if C<.can_write> returned false; in
> +turn, the filter should not call C<next_ops->pwrite> if C<next_ops->can_write>
> +did not return true.
I'm wondering if we're missing documentation here (and/or in the plugins
document) that if .can_write returns true, the plugin must supply a
.pwrite; likewise for .can_trim implying a .trim, and .can_flush
implying a .flush.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20180119/3eed98bc/attachment.sig>
More information about the Libguestfs
mailing list