1libnbd-release-notes-1.8(1)         LIBNBD         libnbd-release-notes-1.8(1)
2
3
4

NAME

6       libnbd-release-notes-1.8 - release notes for libnbd 1.8
7

DESCRIPTION

9       These are the release notes for libnbd stable release 1.8.  This
10       describes the major changes since 1.6.
11
12       libnbd 1.8.0 was released on 7 June 2021.
13
14       libnbd is now hosted on gitlab:
15       https://listman.redhat.com/archives/libguestfs/2021-February/msg00021.html
16
17   Security
18       If you find a security issue, please read SECURITY in the source
19       (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY).
20       To find out about previous security issues in libnbd, see
21       libnbd-security(3).
22
23       There was one security bug found in libnbd during this release cycle.
24
25       CVE-2021-20286 denial of service when using nbd_set_opt_mode(3)
26
27       See the full announcement here:
28       https://listman.redhat.com/archives/libguestfs/2021-March/msg00092.html
29       (Found and fixed by Eric Blake).
30
31   New APIs
32       nbd_get_private_data(3)
33       nbd_set_private_data(3)
34           These calls allow you to store either an unsigned integer or a
35           pointer in the handle for the application to use for its own
36           purposes.
37
38       nbd_get_uri(3)
39           This call constructs an NBD URI which can be used to connect back
40           to the same server (using nbd_connect_uri(3) or from other tools
41           that support the NBD URI standard).
42
43   Enhancements to existing APIs
44       Numeric IPv6 URIs (like "nbd://[::1]/") are now supported.
45
46       libnbd gives a better error message if the server backlog overflows
47       (thanks Xin Long, Lukas Doktor, Eric Blake, Martin Kletzander).
48
49   New features
50       Continuous integration (CI) tests now run on every commit and merge
51       request to the upstream repository (Martin Kletzander).
52
53   Tools
54       A great deal of work has been done to improve the performance of
55       nbdcopy(1) (Nir Soffer, Eric Blake).
56
57       On Linux, nbdcopy now uses readahead when reading from files, and takes
58       steps to preserve the host page cache.
59
60       nbdcopy new --request-size option to allow controlling the size of
61       requests made to NBD servers.  Adjusting this can affect performance
62       (Nir Soffer).
63
64       nbdcopy now supports "null:" pseudo-target, where it discards the
65       output.  This is useful for benchmarking.
66
67       nbdcopy new -v flag to enable libnbd and other debugging.
68
69       nbdinfo(1) --list (which lists all exports of a server) no longer exits
70       early if one of the exports is inaccessible or there is a recoverable
71       error (Eric Blake).
72
73       nbdinfo now prints the URI of each export in the output making it
74       easier to connect back to each export.
75
76       nbdfuse(1) is now multithreaded and supports issuing parallel NBD
77       commands on a single connection as well as multi-conn, and other
78       enhancements have been made.  This resulted in around 50% performance
79       improvement when tested with fio.
80
81       nbdfuse now supports nbdcopy-style "[ CMD ]", eg:
82        nbdfuse dir/ramdisk [ nbdkit memory 1G ]
83
84       nbdfuse now supports trimming.  Also it supports fast zeroing, but this
85       requires a forthcoming kernel patch before it will work.
86
87       nbdfuse sets the virtual file permissions appropriately if the NBD
88       export is read-only.
89
90       nbdfuse new -v flag to enable libnbd and other debugging.
91
92   Tests
93       Added a test of interoperability with qemu-storage-daemon(1).  Note
94       that qemu-storage-daemon was broken in qemu 6.0.0 so this test can fail
95       unless you update to a fixed version (thanks Stefan Hajnoczi, Daniel
96       Berrangé).
97
98       Added a test of nbdcopy with TLS which was previously untested.
99
100       Python code style tests are now opt-in using
101        ./configure --enable-python-code-style
102
103       More tests should now run on FreeBSD and not be skipped.
104
105       nbdfuse tests now ensure that errors from NBD are transmitted through
106       FUSE back to the local client.
107
108       "MALLOC_CHECK_" and "MALLOC_PERTURB_" are only enabled when running the
109       tests, not when running libnbd programs from the build directory.  This
110       makes it easier to do benchmarks.
111
112   Other improvements and bug fixes
113       The minimum C compiler is now ISO C99 (previously ANSI C90).
114
115       FUSE 3 (instead of FUSE 2) is now required to build nbdfuse.
116
117       The library tries harder not to leak thread-local storage memory on
118       dlclose or exit.  (Because of the design of Linux it is not always
119       possible to avoid this, especially in multithreaded programs.)
120
121       Fix the progress bar in nbdcopy(1).
122
123       UTF-8 export names are now processed and displayed properly by
124       nbdinfo(1).
125
126       The --help output of nbdcopy, nbdfuse and nbdinfo now displays a brief
127       summary of all options and has some examples.
128
129       The generator now only requires ocamlc, not ocamlfind (Abhay Raj
130       Singh).
131
132       Golang bindings now use and require golang modules.
133
134   Documentation
135       Document using libnbd with the Meson build system.
136
137       Added Python examples.
138
139       Add example of how to integrate libnbd with libev (Nir Soffer).
140

SEE ALSO

142       libnbd(3).
143

AUTHORS

145       Eric Blake
146
147       Richard W.M. Jones
148
149       Martin Kletzander
150
151       Nir Soffer
152
154       Copyright (C) 2021 Red Hat Inc.
155

LICENSE

157       This library is free software; you can redistribute it and/or modify it
158       under the terms of the GNU Lesser General Public License as published
159       by the Free Software Foundation; either version 2 of the License, or
160       (at your option) any later version.
161
162       This library is distributed in the hope that it will be useful, but
163       WITHOUT ANY WARRANTY; without even the implied warranty of
164       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
165       Lesser General Public License for more details.
166
167       You should have received a copy of the GNU Lesser General Public
168       License along with this library; if not, write to the Free Software
169       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
170       02110-1301 USA
171
172
173
174libnbd-1.10.1                     2021-10-25       libnbd-release-notes-1.8(1)
Impressum