SPDK v20.07: SPDK CSI driver, new accel_fw commands, I/O abort support

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

This release contains the following new features:

  • SPDK CSI driver: Added CSI driver to bring SPDK to Kubernetes storage through NVMe-oF or iSCSI. Supporting dynamic volume provisioning and enabling Pods to use SPDK storage transparently. This feature is considered experimental. See SPDK-csi repository for more details.
  • Acceleration Framework: Added commands for compare, dualcast, crc32c, along with batching support for all commands in all plug-ins. See accel_fw for detailed information.
  • I/O abort: Added support for aborting I/O commands to NVMe, NVMe-oF and Bdev layers.
  • Env PCI drivers: Added env APIs to provide greater flexibility in registering and accessing polled mode PCI drivers.
  • RDMA library: Added rdma library providing an abstraction layer over different RDMA providers. Two providers available are verbs and mlx5 Direct Verbs.
  • spdk_dd: Added an application for copying data to/from files and SPDK bdevs efficiently.
  • bdevperf config: Added support for configuration files similar to FIO, to allow benchmarking more complex use cases. See bdevperf for more details.
  • DPDK: Added support for DPDK 20.05.

The full changelog for this release is available here.

New Contributors

This release contains 842 commits from 44 authors with over 44k lines of code changed.

We’d especially like to recognize all of our first time contributors:

  • Dayu Liu
  • Haichao Li
  • Jörg Thalheim
  • Kyle Zhang
  • Monica Kenguva
  • Ntsaravana
  • Peng Yu
  • Simon A. F. Lund
  • Sochin Jiang
  • Sven Breuner
  • Wenhua Liu
  • Yibo Cai

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