NVMe Bdev: add explicit warning on not permitted operation

Below command is failed without intuitive warning on why the
operation is not permitted:

request:
{
  "action_on_timeout": "abort",
  "delay_cmd_submit": true,
  "disable_auto_failback": false,
  "method": "bdev_nvme_set_options",
  "req_id": 1
}

Got JSON-RPC error response
response:
{
  "code": -1,
  "message": "RPC not permitted with nvme controllers already attached"
}

Change-Id: Ic35292885aa4b507fe8bb278a4b41363cfbae9a5
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13950
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
This commit is contained in:
GangCao 2022-08-10 04:35:49 -04:00 committed by Tomasz Zawadzki
parent 43a3984c6c
commit 8b6fc34939

View File

@ -88,13 +88,15 @@ rpc_bdev_nvme_set_options(struct spdk_jsonrpc_request *request,
}
rc = bdev_nvme_set_opts(&opts);
if (rc) {
if (rc == -EPERM) {
spdk_jsonrpc_send_error_response(request, -EPERM,
"RPC not permitted with nvme controllers already attached");
} else if (rc) {
spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
return;
} else {
spdk_jsonrpc_send_bool_response(request, true);
}
spdk_jsonrpc_send_bool_response(request, true);
return;
}
SPDK_RPC_REGISTER("bdev_nvme_set_options", rpc_bdev_nvme_set_options,