[Libguestfs] ANNOUNCE: nbdkit 1.8 - an NBD server toolkit with stable plugin API and permissive license

Richard W.M. Jones rjones at redhat.com
Mon Nov 12 21:04:24 UTC 2018

I’m pleased to announce the next stable release of nbdkit.

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.8-stable/
(other downloads: http://download.libguestfs.org/nbdkit/ )

New in this release:

- New plugin: ‘sh’ for running shell scripts and other external programs.

- New plugin: ‘partitioning’ which creates a partitioned disk from a
  list of partitions in files.

- New plugin: ‘iso’ which creates an ISO (CD-ROM) image on the fly
  from a directory of files.

- New plugin: ‘floppy’ which creates a virtual FAT-formatted floppy
  disk from a directory of files.

- Magic config key allows simpler invocation of many plugins, eg:
    nbdkit file file=foo
    nbdkit file foo

- data: Add disk2data.pl script to generate data parameters.

- data: Use ‘<file’ to inline a file.

- vddk: Use ‘-D vddk.diskinfo=1’ to enable extra debug information.

- tests: Use a helper function to refactor and simplify most tests.

- partition filter: Can handle > 128 GPT partitions.

- nbdkit can be compiled on the Haiku operating system
  (François Revol).

- New nbdkit_parse_bool API for parsing boolean parameters (Eric Blake).

- log: Add logappend=[true|false] (Eric Blake).

- ocaml: New set_error and debug calls.

- Analyze code under AddressSanitizer and ThreadSanitizer and fix bugs
  (Eric Blake).

- Analyze code under Coverity and fix bugs.

- Tests now run more quickly.


Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.

More information about the Libguestfs mailing list