Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
nbdkit-fua-filter(1)		    NBDKIT		  nbdkit-fua-filter(1)

NAME
       nbdkit-fua-filter - modify nbdkit flush and Forced Unit Access (FUA)

SYNOPSIS
	nbdkit --filter=fua plugin [fuamode=MODE] [plugin-args...]

DESCRIPTION
       "nbdkit-fua-filter" is a	filter that intentionally modifies handling of
       the aForcedA UnitA Accessa (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.

PARAMETERS
       The "fuamode" parameter is optional and controls	which mode the filter
       will use.

       fuamode=none
	   FUA support is not advertised to the	client.	 Clients will not be
	   able	to issue FUA write requests, but can send flush	commands if
	   the plugin supports it.

	   This	is the default if the "fuamode"	parameter is not specified.

       fuamode=emulate
	   The filter will emulate FUA support using the pluginas ".flush"
	   callback, regardless	of whether the plugin itself supports more
	   efficient FUA.  It refuses to load if the plugin does not support
	   flush.

       fuamode=native
	   The filter will advertise native FUA	support	to the client and
	   earlier filters in the chain.  This is useful for comparing
	   optimizations of FUA	handling when splitting	large requests into
	   sub-requests.  It refuses to	load if	the pluginas ".can_fua"
	   callback returns "NBDKIT_FUA_NONE".

       fuamode=force
	   The filter will request FUA on all write transactions, even when
	   the client did not request it (awrite-througha mode).  In turn
	   client flush	requests become	no-ops.	 It refuses to load if the
	   pluginas ".can_fua" callback	returns	"NBDKIT_FUA_NONE".

EXAMPLES
       o   Serve the file disk.img, but	force the client to submit explicit
	   flush requests instead of using "NBD_CMD_FLAG_FUA":

	    nbdkit --filter=fua	file disk.img

       o   Observe that	the blocksize filter optimizes its handling of the FUA
	   flag	based on whether it knows nbdkit will be emulating FUA with a
	   flush, by comparing the log filter output on	top of different fua
	   filter modes:

	    nbdkit --filter=blocksize --filter=log --filter=fua	file disk.img \
	      maxlen=4k	logfile=fua_emulated fuamode=emulate
	    nbdkit --filter=blocksize --filter=log --filter=fua	file disk.img \
	      maxlen=4k	logfile=fua_native fuamode=native

       o   Serve the file disk.img in write-through mode, where	all writes
	   from	the client are immediately flushed to disk as if the client
	   had always requested	FUA:

	    nbdkit --filter=fua	file disk.img fuamode=force

FILES
       $filterdir/nbdkit-fua-filter.so
	   The filter.

	   Use "nbdkit --dump-config" to find the location of $filterdir.

VERSION
       "nbdkit-fua-filter" first appeared in nbdkit 1.2.

SEE ALSO
       nbdkit(1), nbdkit-file-plugin(1), nbdkit-filter(3),
       nbdkit-blocksize-filter(1), nbdkit-log-filter(1),
       nbdkit-nocache-filter(1), nbdkit-noextents-filter(1),
       nbdkit-noparallel-filter(1), nbdkit-nozero-filter(1).

AUTHORS
       Eric Blake

COPYRIGHT
       Copyright (C) 2018 Red Hat Inc.

LICENSE
       Redistribution and use in source	and binary forms, with or without
       modification, are permitted provided that the following conditions are
       met:

       o   Redistributions of source code must retain the above	copyright
	   notice, this	list of	conditions and the following disclaimer.

       o   Redistributions in binary form must reproduce the above copyright
	   notice, this	list of	conditions and the following disclaimer	in the
	   documentation and/or	other materials	provided with the
	   distribution.

       o   Neither the name of Red Hat nor the names of	its contributors may
	   be used to endorse or promote products derived from this software
	   without specific prior written permission.

       THIS SOFTWARE IS	PROVIDED BY RED	HAT AND	CONTRIBUTORS ''AS IS'' AND ANY
       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
       LIABLE FOR ANY DIRECT, INDIRECT,	INCIDENTAL, SPECIAL, EXEMPLARY,	OR
       CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
       SUBSTITUTE GOODS	OR SERVICES; LOSS OF USE, DATA,	OR PROFITS; OR
       BUSINESS	INTERRUPTION) HOWEVER CAUSED AND ON ANY	THEORY OF LIABILITY,
       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
       OTHERWISE) ARISING IN ANY WAY OUT OF THE	USE OF THIS SOFTWARE, EVEN IF
       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

nbdkit-1.20.4			  2021-09-21		  nbdkit-fua-filter(1)

NAME | SYNOPSIS | DESCRIPTION | PARAMETERS | EXAMPLES | FILES | VERSION | SEE ALSO | AUTHORS | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=nbdkit-fua-filter&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help