diff --git a/CHANGELOG.md b/CHANGELOG.md index 74b9d838f..064aea3e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,18 @@ Blobfs file asynchronous operations were added to public APIs. A new file API `spdk_posix_file_load` was added to load file content into a data buffer. +New APIs `spdk_dif_ctx_set_data_offset`, `spdk_dif_verify_stream`, +`spdk_dif_get_range_with_md`, `spdk_dif_get_length_with_md` have been added, +and existing APIs `spdk_dif_ctx_init`, `spdk_dif_set_md_interleave_iovs`, and +`spdk_dif_generate_stream` have been refined to insert or strip DIF by stream +fasion with any alignment. + +New APIs `spdk_dif_ctx_set_remapped_init_ref_tag`, `spdk_dif_remap_ref_tag`, +and `spdk_dix_remap_ref_tag` have been added to remap DIF reference tag. + +New APIs `spdk_dif_update_crc32c` and `spdk_dif_update_crc32c_stream` have been +added to compute CRC-32C checksum for extended LBA payload. + ### NVMe-oF Target Persistent reservation emulation has been added to the NVMe-oF target. Persistent reservation @@ -34,6 +46,15 @@ scheduling strategy among different spdk threads. Added infrastructure to retrieve global and per poll group NVMf statistics. +DIF strip and insert is now supported for TCP transport. When it is enabled, DIF +setting is not exposed to the NVMe-oF initiator, and DIF is attached into data +for write I/O and stripped from data for read I/O. + +Added a field `dif_insert_or_strip` to struct spdk_nvmf_transport_opts, and +updated the related rpc function nvmf_create_transport to make this +configurable parameter available to users. The `dif_insert_or_strip` is relevant +for TCP transport for now and used to configure the DIF strip and insert. + ### notify The function `spdk_notify_get_types()` and `spdk_notify_get_events()` were @@ -56,6 +77,10 @@ would expect the drive to see the slowest 1% of I/O report. For underlying drive significant latency, the latency values provided to the drive will be additive. This should be taken into account if trying to achieve an artificial latency on top of an nvme drive or aio device. +DIF reference tag remapping is now supported for partition type virtual bdev +modules. When using partition type virtual bdevs, block address space is +remapped during I/O processing and DIF reference tag is remapped accordingly. + ### nvme Added spdk_nvme_ctrlr_get_transport_id() to get the transport ID from a