[SPDK] [Release] 23.05: NVMe-oF/TCP TLS, Logical Volume External Snapshots

"Sztyber, Konrad" <[email protected]> Fri, 26 May 2023 14:13:13 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <CO6PR11MB5569B23FD7306930C1AA2E8D8D479@CO6PR11MB5569.namprd11.prod.outlook.com>
On behalf of the SPDK community I'm pleased to announce the release of SPDK=
 v23.05!

This release contains the following new features:
 - NVMe-oF/TCP TLS: Added support for establishing a TCP fabric secure chan=
nel using TLS in
   compliance with NVM Express TCP Transport Specification.  Both the NVMe-=
oF target and NVMe
   driver can be configured to use TLS.  This feature is considered experim=
ental.
 - Logical volume external snapshots: It is now possible to create clones o=
f any bdev, not
   only of logical volume bdevs.  Such clones are called esnap clones (exte=
rnal snapshot clones).
   A bdev that is used as an external snapshot cannot be opened for writing=
 so long as an esnap
   clone exists.
 - ublk optimizations: Implemented various ublk improvements, most notably =
added support for
   UBLK_F_NEED_GET_DATA, which allows ublk target to allocate buffers on de=
mand, rather than
   pre-allocate it during initialization.
 - Zero copy sock receive interface: Added APIs allowing users to provide b=
uffers to a sock
   group which will then get filled with the next portions of the stream on=
 each socket.
 - nvmf transport iobuf pool: The nvmf transports no longer allocate their =
own buffer pools and,
   instead, they will acquire the buffers from the iobuf pool.  This means =
that the nvmf library
   shares the same memory pool with the bdev layer and other parts of the c=
ode base, reducing
   overall memory usage.
 - Accel operation chaining bdev support: bdev layer, bdev crypto, and bdev=
 malloc are now using
   Acceleration Framework's sequence interface.  This makes it possible to =
chain accel operations
   scheduled by these components and execute them all at once.
 - Accel framework statistics: It is now possible to retrieve statistics on=
 the operations
   executed by the Acceleration Framework.
 - bdev quiesce interface: Added APIs to quiesce a bdev.  All I/Os submitte=
d after a bdev is
   quiesced will be queued until the bdev is unquiesced.
 - fd_group nesting optimizations: Added new interfaces making it possible =
to nest one
   fd_group in another providing an efficient way of monitoring the file de=
scriptors of both
   groups at the same time.

The full changelog for this release is available at [1].  Deprecation notic=
es for users updating
from previous releases can be found at [2].

This release contains 822 commits from 60 authors with over 46k lines of co=
de changed.

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

 - Antti Kervinen
 - Yuri Kirichok
 - Wojciech Panfil
 - plestk
 - Slawomir Ptak
 - Marcin Spiewak
 - Lukas Stockner
 - Tim Zhang

Many thanks to everyone for your contributions, participation, and effort!

Thanks,
Konrad

[1] https://github.com/spdk/spdk/releases/tag/v23.05
[2] https://github.com/spdk/spdk/blob/v23.05/deprecation.md