Provided by: nbdkit_1.40.4-5ubuntu1_amd64 bug

NAME

       nbdkit-release-notes-1.14 - release notes for nbdkit 1.14

DESCRIPTION

       These are the release notes for nbdkit stable release 1.14.  This describes the major
       changes since 1.12.

       nbdkit 1.14.0 was released on 28th August 2019.

   New features
       Server performance improvements: Nagle’s algorithm is disabled; instead "MSG_MORE" is used
       to control when outgoing packets are sent.  Ramdisk plugins now support more efficient
       zeroing.  (Eric Blake).

       Plugins can now select their thread model at run time.  Thread model selection is not
       finalized until after the config stage (Eric Blake).

       The server supports "NBD_CMD_CACHE" for prefetching.  Plugins and filters have been
       updated to implement this where it makes sense (Eric Blake).

       Low level pthread lock failures now call abort(3).  This should never happen in real
       situations (Eric Blake).

       The server will not advertize multi-conn support if the internal thread model is
       serialized, avoiding a possible deadlock in some clients (Eric Blake).

       New server option --no-sr can be used to disable structured replies (Eric Blake).

       The server will now refuse to start if stdin/stdout/stderr are closed, to avoid potential
       issues with file descriptor handling in plugins (Eric Blake).

       $uri can be used to specify an NBD URI in --run parameters (Eric Blake).

       New nbdkit-stats-filter(1) displays elapsed statistics about NBD operations, such as the
       number of bytes read and written.

       New nbdkit-nocache-filter(1) which disables cache requests, used to determine how
       effective they are (Eric Blake).

       New nbdkit-noparallel-filter(1) which can be used to override the plugin’s own choice of
       thread model.  Used to determine how the thread model affects performance, or to serialize
       plugins if required (Eric Blake).

       New nbdkit-cacheextents-filter(1) to cache extents requests, especially useful with VDDK
       which has a slow implementation of extents (Martin Kletzander).

       In nbdkit-full-plugin(1), nbdkit-memory-plugin(1), nbdkit-null-plugin(1),
       nbdkit-pattern-plugin(1) and nbdkit-random-plugin(1), the "size=" prefix can be omitted,
       ie: "nbdkit memory 1G" (instead of "size=1G").

       nbdkit-nbd-plugin(1) has multiple enhancements (all added by Eric Blake):

       •   It may be built using libnbd instead of constructing raw NBD packets.

       •   "NBD_OPT_GO" is supported.

       •   Add structured reads.

       •   Implement "NBD_CMD_BLOCK_STATUS".

       •   Supports TCP sockets.

       •   Forwards "NBD_CMD_CACHE".

       •   Retry connections.

       •   Shared connections.

       •   Magic "uri" parameter.

       •   TLS support.

       nbdkit-vddk-plugin(1) now reports hole extents correctly when using the "single-link" flag
       (Martin Kletzander).

       nbdkit-cache-filter(1) and nbdkit-cow-filter(1) now avoid copying data through a bounce
       buffer when it is already sufficiently aligned (Eric Blake).

       Filters (such as nbdkit-delay-filter(1) and nbdkit-rate-filter(1)) which sleep no longer
       cause long delays when the server is shut down (Eric Blake).

       Multiple fixes to nbdkit-rust-plugin(1) (Martin Kletzander).

       Multiple enhancements and clean ups to the test suite which should make tests better and
       more reliable.

       OCaml plugins can now use "parse_size", "parse_bool", "read_password" calls, and there is
       also a new example plugin.

       On platforms which lack atomic "O_CLOEXEC" support the most serialized thread model is
       always selected to avoid leaking file descriptors (Eric Blake).

SEE ALSO

       nbdkit(1), https://www.redhat.com/archives/libguestfs/2019-August/msg00375.html.

AUTHORS

       Eric Blake

       Richard W.M. Jones

COPYRIGHT

       Copyright Red Hat

LICENSE

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

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

       •   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.

       •   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.