The NVMe bdev module has been refined since the bdev_nvme_apply_firmware RPC was added. It is enough to open any one NVMe bdev even if one NVMe controller has multiple namespaces. Hence, let's remove spdk_bdev_first/next() calls from rpc_bdev_nvme_apply_firmware() rather than replacing these by spdk_for_each_bdev(). Additionally, not only spdk_bdev_close() but also spdk_put_io_channel() and spdk_jsonrpc_send_*_response() should be done on the original thread. Hence, redirect to the original thread always when a NVMe command is returned, and rename firm_ctx->thread by firm_ctx->orig_thread for clarification. orig_thread will be better than comment. Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I90b1986584b3926980fd265e4fded194eb5a2d00 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16541 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
bdev_mdns_client.c | ||
bdev_nvme_cuse_rpc.c | ||
bdev_nvme_rpc.c | ||
bdev_nvme.c | ||
bdev_nvme.h | ||
Makefile | ||
nvme_rpc.c | ||
vbdev_opal_rpc.c | ||
vbdev_opal.c | ||
vbdev_opal.h |