These are the release notes for nbdkit stable release 1.6. This describes the major changes since 1.4.
nbdkit 1.6.0 was released on 28th August 2018.
- You can now write plugins in the Lua scripting language, see nbdkit-lua-plugin(3).
- nbdkit and common plugins are now "63 bit clean": the maximum disk size supported is 2⁶³-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 nbdkit-file-plugin(1) to make zeroing and trimming perform better, work correctly with block devices, and work on older Linux kernels [Nir Soffer, Eric Blake].
- New nbdkit-pattern-plugin(1) generates a simple, fixed test pattern for testing nbdkit filters and NBD clients.
- New nbdkit-truncate-filter(1) 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 nbdkit-error-filter(1) which can be used to inject errors into the protocol for testing how clients can handle and recover from errors.
- New nbdkit-data-plugin(1) 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_GOnow 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.
- nbdkit-vddk-plugin(1) 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.
Richard W.M. Jones
Copyright Red Hat
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.