From f84744e9d05d67321275a18a5f9f1cf3acc044ef Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 18 Jul 2019 09:26:21 +0900 Subject: [PATCH] CHANGELOG: update for DIF feature In SPDK 19.07, DIF insert and strip is supported for TCP transport of NVMe-oF target, and DIF reference tag remap is now supported for partitioned virtual bdev modules. This patch updates CHANGELOG to reflect these updates. If summarizing shortly, DIF insert/strip is supported in the NVMe/TCP target. User can choose DIF insert/strip or pass-through based on the use case. DIF reference tag remapping is supported in partition type virtual bdevs. Signed-off-by: Shuhei Matsumoto Change-Id: I452ccb60713928087e90bae0cfbf3393dfd61be7 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462368 Reviewed-by: Changpeng Liu Reviewed-by: Darek Stojaczyk Tested-by: SPDK CI Jenkins --- CHANGELOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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