I’m pleased to announce the next stable release of nbdkit. This release concentrates on performance and fuzzing, along with numerous other enhancements (full list below). NBD — Network Block Device — is a protocol for accessing Block Devices (hard disks and disk-like things) over a Network. nbdkit is a toolkit for creating NBD servers. The key features are: * Multithreaded NBD server written in C with good performance. * Minimal dependencies for the basic server. * Liberal license (BSD) allows nbdkit to be linked to proprietary libraries or included in proprietary code. * Well-documented, simple plugin API with a stable ABI guarantee. Lets you export “unconventional” block devices easily. * You can write plugins in C, Lua, Perl, Python, OCaml, Ruby, [new!] shell script or Tcl. * Filters can be stacked in front of plugins to transform the output. Clone source: https://github.com/libguestfs/nbdkit Download tarball: http://download.libguestfs.org/nbdkit/1.10-stable/ (other downloads: http://download.libguestfs.org/nbdkit/ ) New in this release: - Implemented NBD_FLAG_CAN_MULTI_CONN which greatly improves performance for clients that support it. - Implemented NBD_OPT_INFO (Eric Blake). - nbdkit-data-plugin and nbdkit-memory-plugin: By adding fine-grained locking, these plugins now use the fully parallel thread model. - nbdkit-cache-filter: The size of the cache can now be limited, and the cache reclaims space using an LRU algorithm. It has also been enhanced to support cache-on-read mode. The filter now uses a fully parallel thread model. - nbdkit-cow-filter: Use a fully parallel thread model. - nbdkit-sh-plugin: Inline scripts: https://rwmj.wordpress.com/2018/12/15/nbdkit-inline-scripts/ - nbdkit-sh-plugin: Full API version 2 is now supported. - OCaml bindings: Full API version 2 is now supported. - nbdkit-delay-filter allows you to specify the read, write, zero and trim delays individually. - nbdkit-curl-plugin: Add support for connecting to servers over Unix domain sockets. - Bash tab completion has been improved: Partial plugin names are expanded correctly, and plugin parameters containing '-' work. - Public header files can now be consumed by ISO C90 compilers (but GCC or Clang is still required to compile nbdkit itself). - A better non-cryptographically secure pseudo-random number generator (xoshiro256** 1.0) is now used on all platforms, replacing previous uses of random(3). - Fuzzing using American Fuzzy Lop is now supported, and was carried out, resulting in one error being found in the server (not security related). - New nbdkit-xz-filter: This replaces nbdkit-xz-plugin which will be removed in nbdkit 1.12. - New nbdkit-loop(1) man page documenting how to use nbdkit for loop mounts. See also: https://fosdem.org/2019/schedule/event/nbdkit/ - New nbdkit-full-plugin: Returns ENOSPC on every request. - attribute((format)), attribute((nonnull)) and attribute((sentinel)) are used in internal header files to improve code quality. - Logging using %m now works on all platforms, not just on Linux with glibc (Eric Blake). - VPATH builds partially supported (Eric Blake). Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list