SPDK v19.07 Release: NVMe-oF FC Transport, VMD, NVMe-oF Persistent reservations, Bdev I/O with separate metadata

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

This release contains the following features:

  • NVMe-oF FC Transport: A Fibre Channel transport that supports Broadcom HBAs has been added. This feature should be considered experimental.
  • VMD: Added Intel Volume Management Device (VMD) driver. VMD is an integrated controller inside the CPU PCIe root complex. It enables virtual HBAs for the connected NVMe SSDs. This feature should be considered experimental.
  • NVMe-oF Persistent reservation: Persistent reservation emulation has been added to the NVMe-oF target. Persistent reservation state is stored in a JSON file on the local filesystem between target restart.
  • Bdev: Added bdev layer functions allowing for I/O with metadata being transferred in separate buffer.
  • Compression bdev: This feature should no longer be considered experimental.
  • VPP: Added support for VPP 19.04.2. Socket abstraction layer now uses VPP session API.
  • OCF: Added support for OCF 19.3.2. Added Write-Back mode support, persistent cache metadata and caching multiple devices on single cache device.
  • DPDK: Added support for DPDK 19.05. By default, SPDK will now rely on upstream DPDK’s rte_vhost instead of its fork located inside SPDK repo.
  • SCSI: A security vulnerability has been identified and fixed in SPDK Vhost-SCSI and iSCSI targets. A malicious client (e.g. a virtual machine or an iSCSI initiator) could send a carefully prepared, invalid I/O request to crash the entire SPDK process. All users of SPDK vhost and iSCSI targets are strongly recommended to update. All SPDK versions < 19.07 are affected.

The full changelog for this release is available here.

New Contributors

This release contains 1192 commits from 56 authors with over 61k lines of code changed.

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

  • Amelia Blachuciak
  • Mike Carlin
  • Or Gerlitz
  • Jesse Grodman
  • Jacek Kalwas
  • Mateusz Kozlowski
  • Alexey Marchuk
  • Subash Rajaa
  • Orden Smith
  • Anil Veerabhadrappa
  • Maciej Wawryk
  • Huiming Xie
  • Tianyu Yang
  • Niu Yawei

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