diff --git a/lib/bdev/iscsi/bdev_iscsi_rpc.c b/lib/bdev/iscsi/bdev_iscsi_rpc.c index 3682b6129..c07ffedb0 100644 --- a/lib/bdev/iscsi/bdev_iscsi_rpc.c +++ b/lib/bdev/iscsi/bdev_iscsi_rpc.c @@ -92,21 +92,18 @@ spdk_rpc_construct_iscsi_bdev(struct spdk_jsonrpc_request *request, SPDK_COUNTOF(rpc_construct_iscsi_bdev_decoders), &req)) { SPDK_ERRLOG("spdk_json_decode_object failed\n"); - rc = -EINVAL; - goto invalid; + spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, + "spdk_json_decode_object failed"); + goto cleanup; } rc = create_iscsi_disk(req.name, req.url, req.initiator_iqn, construct_iscsi_bdev_cb, request); if (rc) { - goto invalid; + spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc)); } +cleanup: free_rpc_construct_iscsi_bdev(&req); - return; - -invalid: - free_rpc_construct_iscsi_bdev(&req); - spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, spdk_strerror(-rc)); } SPDK_RPC_REGISTER("construct_iscsi_bdev", spdk_rpc_construct_iscsi_bdev, SPDK_RPC_RUNTIME) @@ -145,29 +142,24 @@ spdk_rpc_delete_iscsi_bdev(struct spdk_jsonrpc_request *request, { struct rpc_delete_iscsi req = {NULL}; struct spdk_bdev *bdev; - int rc; if (spdk_json_decode_object(params, rpc_delete_iscsi_decoders, SPDK_COUNTOF(rpc_delete_iscsi_decoders), &req)) { - rc = -EINVAL; - goto invalid; + spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, + "spdk_json_decode_object failed"); + goto cleanup; } bdev = spdk_bdev_get_by_name(req.name); if (bdev == NULL) { - rc = -ENODEV; - goto invalid; + spdk_jsonrpc_send_error_response(request, -ENODEV, spdk_strerror(ENODEV)); + goto cleanup; } delete_iscsi_disk(bdev, _spdk_rpc_delete_iscsi_bdev_cb, request); +cleanup: free_rpc_delete_iscsi(&req); - - return; - -invalid: - free_rpc_delete_iscsi(&req); - spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, spdk_strerror(-rc)); } SPDK_RPC_REGISTER("delete_iscsi_bdev", spdk_rpc_delete_iscsi_bdev, SPDK_RPC_RUNTIME)