[Libguestfs] [nbdkit PATCH] noextents: Document use case with tmpfs

Richard W.M. Jones rjones at redhat.com
Thu Apr 25 14:10:00 UTC 2019


On Thu, Apr 25, 2019 at 08:01:20AM -0500, Eric Blake wrote:
> tmpfs has a known bug of O(n^2) behavior with lseek(SEEK_HOLE); this
> is one situation where the noextents filter can come in handy to avoid
> the performance penalty of exposing accurate extents.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
>  filters/noextents/nbdkit-noextents-filter.pod | 7 ++++++-
>  plugins/file/nbdkit-file-plugin.pod           | 9 ++++++++-
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/filters/noextents/nbdkit-noextents-filter.pod b/filters/noextents/nbdkit-noextents-filter.pod
> index aa2e9e2..46f6bdb 100644
> --- a/filters/noextents/nbdkit-noextents-filter.pod
> +++ b/filters/noextents/nbdkit-noextents-filter.pod
> @@ -13,6 +13,10 @@ client to detect sparse regions of the underlying disk.
>  C<nbdkit-noextents-filter> disables this so that the plugin appears to
>  be fully allocated.
> 
> +This filter can be useful when combined with L<nbdkit-file-plugin(1)>
> +serving a file from a file system known to have poor C<lseek(2)>
> +performance (C<tmpfs> is known to be one such system).
> +
>  =head1 PARAMETERS
> 
>  There are no parameters specific to nbdkit-noextents-filter.  Any
> @@ -23,7 +27,8 @@ plugin in the normal way.
> 
>  L<nbdkit(1)>,
>  L<nbdkit-filter(3)>,
> -L<nbdkit-nozero-filter(1)>.
> +L<nbdkit-nozero-filter(1)>,
> +L<nbdkit-file-plugin(1)>.
> 
>  =head1 AUTHORS
> 
> diff --git a/plugins/file/nbdkit-file-plugin.pod b/plugins/file/nbdkit-file-plugin.pod
> index d34a638..9241418 100644
> --- a/plugins/file/nbdkit-file-plugin.pod
> +++ b/plugins/file/nbdkit-file-plugin.pod
> @@ -15,6 +15,12 @@ It serves the named C<FILENAME> over NBD.  Local block devices
> 
>  To concatenate multiple files, use L<nbdkit-split-plugin(1)>.
> 
> +If you want to expose a file that resides on a file system known to
> +have poor C<lseek(2)> performance when searching for holes (C<tmpfs>
> +is known to be one such file system), you can use
> +L<nbdkit-noextents-filter(1)> to avoid the penalty of probing for
> +holes.
> +
>  =head1 PARAMETERS
> 
>  =over 4
> @@ -88,7 +94,8 @@ or block device efficiently or not.
>  L<nbdkit(1)>,
>  L<nbdkit-plugin(3)>,
>  L<nbdkit-split-plugin(1)>,
> -L<nbdkit-partitioning-plugin(1)>.
> +L<nbdkit-partitioning-plugin(1)>,
> +L<nbdkit-noextents-filter(1)>.
> 
>  =head1 AUTHORS

ACK

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/




More information about the Libguestfs mailing list