These are the release notes for libnbd stable release 1.10. This describes the major changes since 1.8.
libnbd 1.10.0 was released on 23 September 2021.
There were no security bugs found in libnbd during this release cycle.
If you find a security issue, please read SECURITY in the source (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). To find out about previous security issues in libnbd, see libnbd-security(3).
No new APIs were added in 1.10.
Enhancements to existing APIs
nbd_get_uri(3) no longer returns service names (eg.
"nbd://localhost:nbd"). Instead it always returns raw port numbers for portability.
nbd_connect_uri(3) now supports
tls-certificates=DIR query parameter, making it much easier to connect to servers using TLS with X.509 certificates. Also error messages from this API have been improved in the case of some common URI user errors.
nbd.aio_connect implements support for
Fix invalid use of
unsafe.Pointer in Go bindings.
nbdcopy(1) now uses a default request size of 2M (instead of 32M). This default performs better in most cases.
nbdinfo(1) has a new --map --totals mode which displays a summary of the map. Also new --can and --is options let you test export properties (eg. --is read-only).
nbdinfo(1) --map option uses “data” instead of “allocated” because of ambiguity about what “allocated” means (Eric Blake, Nir Soffer).
nbdinfo(1) shows the export size in both bytes and human units (like
"1K"). The machine-parsable JSON output has not changed.
nbdfuse(1) now supports efficient zeroing. Note this requires Linux kernel ≥ 5.14.
nbdsh(1) has new option -n which avoids creating the implicit handle
h. Also new option -v which enables debugging. Also the initial help banner is now context sensitive giving more relevant information depending on how nbdsh was invoked.
CI tests were greatly enhanced and many platform-specific fixes were made. To view the latest CI tests and results see: https://gitlab.com/nbdkit/libnbd/-/pipelines (Martin Kletzander).
Tests now use the new
GLIBC_TUNABLES feature, replacing
MALLOC_CHECK_ on glibc ≥ 2.34 (thanks Eric Blake, Siddhesh Poyarekar).
Other improvements and bug fixes
The nbdcopy(1) progress bar should be displayed more accurately in multithreaded mode.
nbd_connect(3) and nbd_aio_connect(3) documentation has been revised and improved.
More consistent option styling is used throughout the documentation.
podwrapper.pl has been unified (almost) with the copy in nbdkit.
configure.ac now uses spaces consistently, and has been modernized to support the latest autotools (Eric Blake).
We now warn about large stack frames, and a few places which used large stack frames have been fixed.
Continue fuzzing using AFL++. Updated the fuzzing documentation.
Fix building from git with --disable-ocaml. As long as only
ocamlc is installed, the generator should still be built and run (Martin Kletzander).
Richard W.M. Jones
Copyright (C) 2021 Red Hat Inc.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA