libnbd-release-notes-1.8(1)
π¦ libnbd-release-notes-1.8: bestie edition π¦
β¨ NAME β¨
libnbd-release-notes-1.8 β release notes for libnbd 1.8.
okay bestie, this is the libnbd-release-notes-1.8(1) manual page, and it's giving βstable release 1.8 has entered the chatβ energy. Let's go. π
πΈ DESCRIPTION πΈ
These are the release notes for libnbd stable release 1.8. This describes the major changes since 1.6. π
libnbd 1.8.0 was released on 7 June 2021. ποΈ
libnbd is now hosted on gitlab: https://listman.redhat.com/archives/libguestfs/2021-February/msg00021.html
π Security π
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).
There was one security bug found in libnbd during this release cycle. π
CVE-2021-20286β denial of service when usingnbd_set_opt_mode(3).
See the full announcement here: https://listman.redhat.com/archives/libguestfs/2021-March/msg00092.html (Found and fixed by Eric Blake). β
π§Έ New APIs π§Έ
nbd_get_private_data(3)andnbd_set_private_data(3)β these calls allow you to store either an unsigned integer or a pointer in the handle for the application to use for its own purposes. β¨nbd_get_uri(3)β this call constructs an NBD URI which can be used to connect back to the same server (usingnbd_connect_uri(3)or from other tools that support the NBD URI standard).
πͺ Enhancements to existing APIs πͺ
- Numeric IPv6 URIs (like
"nbd://[::1]/") are now supported. π - libnbd gives a better error message if the server backlog overflows (thanks Xin Long, Lukas Doktor, Eric Blake, Martin Kletzander).
π New features π
- Continuous integration (CI) tests now run on every commit and merge request to the upstream repository (Martin Kletzander). π
π οΈ Tools π οΈ
- A great deal of work has been done to improve the performance of
nbdcopy(1)(Nir Soffer, Eric Blake). - On Linux,
nbdcopynow uses readahead when reading from files, and takes steps to preserve the host page cache. nbdcopynew--request-sizeoption to allow controlling the size of requests made to NBD servers. Adjusting this can affect performance (Nir Soffer).nbdcopynow supports"null:"pseudo-target, where it discards the output. This is useful for benchmarking.nbdcopynew-vflag to enable libnbd and other debugging.nbdinfo(1)--list(which lists all exports of a server) no longer exits early if one of the exports is inaccessible or there is a recoverable error (Eric Blake).nbdinfonow prints the URI of each export in the output making it easier to connect back to each export.nbdfuse(1)is now multithreaded and supports issuing parallel NBD commands on a single connection as well as multi-conn, and other enhancements have been made. This resulted in around 50% performance improvement when tested withfio.nbdfusenow supports nbdcopy-style"[ CMD ]", eg:
nbdfuse dir/ramdisk [ nbdkit memory 1G ]
nbdfusenow supports trimming. Also it supports fast zeroing, but this requires a forthcoming kernel patch before it will work.nbdfusesets the virtual file permissions appropriately if the NBD export is read-only.nbdfusenew-vflag to enable libnbd and other debugging.
π§ͺ Tests π§ͺ
- Added a test of interoperability with
qemu-storage-daemon(1). Note thatqemu-storage-daemonwas broken in qemu 6.0.0 so this test can fail unless you update to a fixed version (thanks Stefan Hajnoczi, Daniel BerrangΓ©). - Added a test of
nbdcopywith TLS which was previously untested. - Python code style tests are now opt-in using:
./configure --enable-python-code-style
- More tests should now run on FreeBSD and not be skipped. π§
nbdfusetests now ensure that errors from NBD are transmitted through FUSE back to the local client."MALLOC_CHECK_"and"MALLOC_PERTURB_"are only enabled when running the tests, not when running libnbd programs from the build directory. This makes it easier to do benchmarks.
π©Ή Other improvements and bug fixes π©Ή
- The minimum C compiler is now ISO C99 (previously ANSI C90).
- FUSE 3 (instead of FUSE 2) is now required to build
nbdfuse. - The library tries harder not to leak thread-local storage memory on
dlcloseor exit. (Because of the design of Linux it is not always possible to avoid this, especially in multithreaded programs.) - Fix the progress bar in
nbdcopy(1). - UTF-8 export names are now processed and displayed properly by
nbdinfo(1). - The
--helpoutput ofnbdcopy,nbdfuseandnbdinfonow displays a brief summary of all options and has some examples. - The generator now only requires
ocamlc, notocamlfind(Abhay Raj Singh). - Golang bindings now use and require golang modules.
π Documentation π
- Document using libnbd with the Meson build system.
- Added Python examples.
- Add example of how to integrate libnbd with libev (Nir Soffer).
π SEE ALSO π
π AUTHORS π
- Eric Blake
- Richard W.M. Jones
- Martin Kletzander
- Nir Soffer
Β©οΈ COPYRIGHT Β©οΈ
Copyright Red Hat
π LICENSE π
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
That's the whole libnbd-release-notes-1.8(1) moment, bestie β source/version libnbd-1.25.8, dated 2026-10-13. mwah π
π¦ where this page comes from
- centos-stream 10: libnbd-devel 1.25.8-1.el10 Β· LGPL-2.0-or-later AND BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms