[Libguestfs] [PATCH nbdkit 4/4] fua: Add unsafe fuamode=discard.

Eric Blake eblake at redhat.com
Tue May 26 15:30:54 UTC 2020


On 5/22/20 4:32 PM, Richard W.M. Jones wrote:
> This drops all FUA and flush requests.
> ---
>   filters/fua/nbdkit-fua-filter.pod | 27 +++++++++++++++++----
>   filters/fua/fua.c                 | 39 +++++++++++++++++++++++++++----
>   tests/test-fua.sh                 | 33 ++++++++++++++++----------
>   3 files changed, 79 insertions(+), 20 deletions(-)

Overall, the series looks good to me.  I don't know if there are any 
other man pages where we should call attention to the fact about the new 
mode.

> 
> diff --git a/filters/fua/nbdkit-fua-filter.pod b/filters/fua/nbdkit-fua-filter.pod
> index 3d20b56a..4f564fab 100644
> --- a/filters/fua/nbdkit-fua-filter.pod
> +++ b/filters/fua/nbdkit-fua-filter.pod
> @@ -9,10 +9,12 @@ nbdkit-fua-filter - modify nbdkit flush and Forced Unit Access (FUA)
>   =head1 DESCRIPTION
>   
>   C<nbdkit-fua-filter> is a filter that intentionally modifies handling
> -of the S<“Forced Unit Access”> (FUA) flag across the NBD protocol.  It
> -is mainly useful for testing client or server fallbacks, and for
> -evaluating timing differences between proper use of FUA compared to a
> -full flush.
> +of the S<“Forced Unit Access”> (FUA) flag across the NBD protocol.
> +
> +This filter can be used to disable FUA and flush requests for speed
> +(although this is unsafe).  Also it can be used to test client or
> +server fallbacks, and for evaluating timing differences between proper
> +use of FUA compared to a full flush.
>   
>   =head1 PARAMETERS
>   
> @@ -53,6 +55,15 @@ returns C<NBDKIT_FUA_NONE>.
>   Pass through FUA and flush requests unchanged.  Turns the filter into
>   a no-op.
>   
> +=item B<fuamode=discard>
> +
> +The filter will discard FUA and flush requests.
> +
> +B<This mode is unsafe>: If the NBD disk contains a filesystem then you
> +will likely lose data in the event of a crash.  It should only be used
> +for ephemeral data which you can easily recreate, such as caches,
> +builds, test data, etc.

Also, we may want to mention when this mode was introduced (since if you 
don't have 1.22 installed, you can't use it yet).

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




More information about the Libguestfs mailing list