+3
−0
+2
−0
+39
−1
Loading
Add support to queue multiple reservation commands that modify state into a singlely linked TAILQ. HEAD is always the in-progress command and subsequent received commands are appened to the tail. Updating namespace reservation state is a two step process: 1) Update struct spdk_nvmf_ns on subsystem->thread 2) Trigger poll group update of their state The existing solution could start step 1 of a subsequent received command before step 2 of the previous command finishes, leaving a possibility of poll groups reading spdk_nvmf_ns while a subsequent command is modifying it. Serializing the reservation commands closes this gap. Basic validation in subsystem unit test. Change-Id: I49ca4050338957748ee65face1bf1d2d089cdf0e Signed-off-by:Joel Cunningham <joel.cunningham@oracle.com> Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26467 Reviewed-by:
Jim Harris <jim.harris@nvidia.com> Tested-by:
SPDK Automated Test System <spdkbot@gmail.com> Reviewed-by:
Changpeng Liu <changpeliu@tencent.com> Community-CI: Mellanox Build Bot