All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] ANNOUNCE: nbdkit 1.6 - an NBD server toolkit with stable plugin API and permissive license
@ 2018-08-28 15:59 Richard W.M. Jones
  0 siblings, 0 replies; only message in thread
From: Richard W.M. Jones @ 2018-08-28 15:59 UTC (permalink / raw)
  To: libguestfs, virt-tools-list, nbd, qemu-devel

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, [new!] Lua, Perl, Python, OCaml, Ruby or Tcl.
 * Filters can be stacked in front of plugins to transform the output.

https://github.com/libguestfs/nbdkit
http://download.libguestfs.org/nbdkit/1.6-stable/
(other downloads: http://download.libguestfs.org/nbdkit/ )

New in the 1.6 release:

 * You can now write plugins in the Lua scripting language.

 * nbdkit and common plugins are now "63 bit clean": the maximum disk
   size supported is 2^63-1 bytes, and the core server and plugins now
   have additional tests to check this works, even on 32 bit machines.

 * Multiple improvements to the ‘file’ plugin to make zeroing and
   trimming perform better, work correctly with block devices, and
   work on older Linux kernels [Nir Soffer, Eric Blake].

 * New ‘pattern’ plugin generates a simple, fixed test pattern for
   testing nbdkit filters and NBD clients.

 * New ‘truncate’ filter can: truncate or extend the size of plugins,
   or round up or down the size to next multiple of a power of 2.
   Useful for NBD clients like qemu which can only handle NBD sizes
   which are a multiple of 512 bytes.

 * New ‘error’ filter which can be used to inject errors into the
   protocol for testing how clients can handle and recover from
   errors.

 * New ‘data’ plugin allows you to specify (small) disk images
   directly on the command line.

 * Enhanced error reporting in the Python plugin so full tracebacks
   from errors are now displayed instead of being lost as before.

 * NBD_OPT_GO now supported, so we can return errors when negotiating
   the export name.

 * Support for logging error messages to syslog.

 * nbdkit can now be compiled with Clang (as well as GCC).

 * nbdkit can now be compiled on FreeBSD.

 * The VDDK plugin is compiled unconditionally.  You no longer need to
   install the proprietary VDDK to compile it.

 * Debug messages now include the name of the filter when invoked from
   a filter context.

 * Debug flags (-D option) provides lightweight debugging for plugin
   authors.

Thanks to all who contributed, especially Nir Soffer and Eric Blake.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-08-28 16:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-28 15:59 [Qemu-devel] ANNOUNCE: nbdkit 1.6 - an NBD server toolkit with stable plugin API and permissive license Richard W.M. Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.