So far I’ve written six plugins for nbdkit. However three of those are examples which don’t really count.
The first (more) interesting plugin is called file and it just turns nbdkit into a regular NBD server, serving files or devices. It’s almost complete, the only significant missing features being access logging and hole punching.
The second interesting plugin is called libvirt-plugin. It serves disks from libvirt guests. An example of using it can be found here.
The final interesting plugin is called gzip. It uses the zlib API to open a .gz file, exposing it uncompressed. Because zlib is a stream-oriented API it’s not very usable at the moment (especially for large images) because it has to uncompress the data stream as it’s seeking. However it may be possible to improve that by caching positions in the stream. What would be more interesting for me would be a lzma-based plugin to support xz files.
Pingback: Mapping files to disk | Richard WM Jones
Pingback: nbdkit for loopback pt 4: loopback-mounting compressed images | Richard WM Jones