SPDK v19.04: Compression bdev, Notification library, NVMe Opal support

On behalf of the SPDK community I’m pleased to announce the release of SPDK 19.04!

This release contains the following new features:

  • Compression bdev: Added “reduce” block compression scheme based on using SSDs for storing compressed blocks of storage and persistent memory for metadata.
  • Notification: Added the notify library that provides a high performance local event bus between libraries. Example usage was added to bdev module, which reports notifications for added and removed bdevs via RPC.
  • NVMe: Opal support was added for scan, take ownership, revert TPer, and dumping device info. The nvme_manage tool can be used to perform these operations.
  • OCF: Added support for caching multiple bdevs using a single bdev as a cache.
  • DIF pass-through in the NVMe-oF target: DIF setting of the allocated bdevs can be exposed to the NVMe-oF initiator and data with DIF from the NVMe-oF initiator can be passed through to the allocated bdevs.
  • vhost: Added experimental support for running with the external, upstream rte_vhost library.

The full changelog for this release is available here.

New Contributors

This release contains 870 commits from 57 authors with over 34k lines of code changed.

We’d especially like to say thank you to all of our first time contributors:

  • Amir More
  • Claire J. In
  • Gregory Shapiro
  • James Bergsten
  • Jeffry Molanus
  • Jiaqi Zhou
  • Lingshan Zhu
  • Michal Mielewczyk
  • Nikos Dragazis
  • Qingmin Liu
  • Robert Bałdyga
  • Yair Elharrar

Thanks to everyone for your contributions, participation, and effort!