diff --git a/CHANGELOG.md b/CHANGELOG.md index e21a41bf8..a676c0b72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,12 @@ implemented a wrapper library to use IDXD device by leveraging the kernel DSA dr SPDK idxd library (lib/idxd). Then users can leverage the RPC later to configure how to use the DSA device by user space driver or kernel driver. +### init + +Added new `init` library that initializes the SPDK subsystems, which previously was +internal to application framework. That functionality has been made public and for +use by applications which don't leverage SPDK's application framework. + ### iscsi New parameters, `pdu_pool_size`, `immediate_data_pool_size`, and `data_out_pool_size`, @@ -53,6 +59,10 @@ available memory. Added API `spdk_json_write_named_uint128` and `spdk_json_write_uint128` to perform the uint128 related data. +### net + +Removed deprecated `net` library. + ### nvme `spdk_nvme_map_prps` and `spdk_nvme_map_cmd` were moved to nvmf/vfio-user as internal APIs @@ -91,14 +101,22 @@ reset a controller asynchronously. New RPC `bdev_nvme_reset_controller` was added, to reset an NVMe controller. +Added `spdk_nvme_ns_get_nguid` function to get NGUID for the given namespace. + +Added `spdk_nvme_ctrlr_is_fabrics` function to indicate whether a ctrlr handle +is associated with a fabrics controller. + ### nvmf Added `min_cntlid` and `max_cntlid` to `nvmf_create_subsystem` to limit the controller ID range. +Added `spdk_nvmf_subsystem_get_min_cntlid` and `spdk_nvmf_subsystem_get_max_cntlid` to request those values. `spdk_nvmf_request_get_buffers_multi` API is removed. Added the `nvmf_set_crdt` RPC for setting command retry delay times. +Expanded `spdk_nvmf_poll_group_stat` with current qpair count statistics. + ### rpc New RPC `bdev_rbd_register_cluster` and `bdev_rbd_unregister_cluster` was added, it allows to create @@ -124,6 +142,14 @@ and this is used to enable using the kernel mode IDXD driver. Red-black tree has been used for timed pollers to provide faster insertion and deletion and for io_devices to provide faster lookup. +Removed `spdk_io_channel` structure from public header and moved it to thread_internal.h. + +### trace + +Added `spdk_trace_register_description_ext` function to register variable number of tracepoint arguments. + +Added ability to chain multiple trace entries together to extend the size of the argument buffer. + ### util Red-black tree macros has been added by using the macros provided by the FreeBSD operating system @@ -133,6 +159,10 @@ Add an new macro `SPDK_SIZEOF_MEMBER` to get the size of a member of a struct. `spdk_crc32c_iov_update` function was added to support calculating the crc32c of the iovs. +Added zipf random number generator with power law probability distribution. +When applied to performance testing of block devices, it will select blocks over +the full range of LBAs, but will more frequently select lower-numbered LBAs. + ## v21.04: ### accel diff --git a/deprecation.md b/deprecation.md index 691710399..1bd345a7b 100644 --- a/deprecation.md +++ b/deprecation.md @@ -12,10 +12,6 @@ ABI cannot be removed without providing deprecation notice for at least single S # Deprecation Notices {#deprecation-notices} -## net - -The net library is deprecated and will be removed in the 21.07 release. - ## nvmf The following APIs have been deprecated and will be removed in SPDK 21.07: