3 nbdkit-release-notes-1.14 - release notes for nbdkit 1.14
7 These are the release notes for nbdkit stable release 1.14.
8 This describes the major changes since 1.12.
10 nbdkit 1.14.0 was released on 28th August 2019.
14 Server performance improvements: Nagle’s algorithm is disabled;
15 instead C<MSG_MORE> is used to control when outgoing packets are sent.
16 Ramdisk plugins now support more efficient zeroing. (Eric Blake).
18 Plugins can now select their thread model at run time. Thread model
19 selection is not finalized until after the config stage (Eric Blake).
21 The server supports C<NBD_CMD_CACHE> for prefetching. Plugins and
22 filters have been updated to implement this where it makes sense (Eric
25 Low level pthread lock failures now call L<abort(3)>. This should
26 never happen in real situations (Eric Blake).
28 The server will not advertize multi-conn support if the internal
29 thread model is serialized, avoiding a possible deadlock in some
32 New server option I<--no-sr> can be used to disable structured replies
35 The server will now refuse to start if stdin/stdout/stderr are closed,
36 to avoid potential issues with file descriptor handling in plugins
39 C<$uri> can be used to specify an NBD URI in I<--run> parameters (Eric
42 New L<nbdkit-stats-filter(1)> displays elapsed statistics about NBD
43 operations, such as the number of bytes read and written.
45 New L<nbdkit-nocache-filter(1)> which disables cache requests, used to
46 determine how effective they are (Eric Blake).
48 New L<nbdkit-noparallel-filter(1)> which can be used to override the
49 plugin’s own choice of thread model. Used to determine how the thread
50 model affects performance, or to serialize plugins if required (Eric
53 New L<nbdkit-cacheextents-filter(1)> to cache extents requests,
54 especially useful with VDDK which has a slow implementation of extents
57 In L<nbdkit-full-plugin(1)>, L<nbdkit-memory-plugin(1)>,
58 L<nbdkit-null-plugin(1)>, L<nbdkit-pattern-plugin(1)> and
59 L<nbdkit-random-plugin(1)>, the C<size=> prefix can be omitted, ie:
60 S<C<nbdkit memory 1G>> (instead of C<size=1G>).
62 L<nbdkit-nbd-plugin(1)> has multiple enhancements (all added by Eric
69 It may be built using libnbd instead of constructing raw NBD packets.
73 C<NBD_OPT_GO> is supported.
81 Implement C<NBD_CMD_BLOCK_STATUS>.
89 Forwards C<NBD_CMD_CACHE>.
101 Magic C<uri> parameter.
109 L<nbdkit-vddk-plugin(1)> now reports hole extents correctly when using
110 the C<single-link> flag (Martin Kletzander).
112 L<nbdkit-cache-filter(1)> and L<nbdkit-cow-filter(1)> now avoid
113 copying data through a bounce buffer when it is already sufficiently
114 aligned (Eric Blake).
116 Filters (such as L<nbdkit-delay-filter(1)> and
117 L<nbdkit-rate-filter(1)>) which sleep no longer cause long delays when
118 the server is shut down (Eric Blake).
120 Multiple fixes to L<nbdkit-rust-plugin(1)> (Martin Kletzander).
122 Multiple enhancements and clean ups to the test suite which should
123 make tests better and more reliable.
125 OCaml plugins can now use C<parse_size>, C<parse_bool>,
126 C<read_password> calls, and there is also a new example plugin.
128 On platforms which lack atomic C<O_CLOEXEC> support the most
129 serialized thread model is always selected to avoid leaking file
130 descriptors (Eric Blake).
135 L<https://www.redhat.com/archives/libguestfs/2019-August/msg00375.html>.
145 Copyright (C) 2019 Red Hat Inc.