From d9580c759ec3094fb468c4d3a532828befbacf35 Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Tue, 2 Jul 2019 16:30:41 +0200 Subject: [PATCH] aio/rpc: Add more descriptive error messages for aio bdevs Improve error messages where possible Change-Id: I104998a666789c4e724d153c2cd14ee05c71b699 Signed-off-by: Karol Latecki Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460157 Tested-by: SPDK CI Jenkins Reviewed-by: Paul Luse Reviewed-by: Darek Stojaczyk Reviewed-by: Changpeng Liu Reviewed-by: Vitaliy Mysak Reviewed-by: Tomasz Zawadzki --- lib/bdev/aio/bdev_aio_rpc.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/lib/bdev/aio/bdev_aio_rpc.c b/lib/bdev/aio/bdev_aio_rpc.c index 6010a0e6c..2f5c43ce0 100644 --- a/lib/bdev/aio/bdev_aio_rpc.c +++ b/lib/bdev/aio/bdev_aio_rpc.c @@ -68,13 +68,15 @@ spdk_rpc_construct_aio_bdev(struct spdk_jsonrpc_request *request, SPDK_COUNTOF(rpc_construct_aio_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_aio_bdev(req.name, req.filename, req.block_size); if (rc) { - goto invalid; + spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc)); + goto cleanup; } @@ -86,10 +88,6 @@ spdk_rpc_construct_aio_bdev(struct spdk_jsonrpc_request *request, spdk_json_write_string(w, req.name); spdk_jsonrpc_end_result(request, w); - goto cleanup; - -invalid: - spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, spdk_strerror(-rc)); cleanup: free_rpc_construct_aio(&req); } @@ -130,19 +128,19 @@ spdk_rpc_delete_aio_bdev(struct spdk_jsonrpc_request *request, { struct rpc_delete_aio req = {NULL}; struct spdk_bdev *bdev; - int rc; if (spdk_json_decode_object(params, rpc_delete_aio_decoders, SPDK_COUNTOF(rpc_delete_aio_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_aio_bdev(bdev, _spdk_rpc_delete_aio_bdev_cb, request); @@ -151,8 +149,7 @@ spdk_rpc_delete_aio_bdev(struct spdk_jsonrpc_request *request, return; -invalid: +cleanup: free_rpc_delete_aio(&req); - spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, spdk_strerror(-rc)); } SPDK_RPC_REGISTER("delete_aio_bdev", spdk_rpc_delete_aio_bdev, SPDK_RPC_RUNTIME)