Commit d9580c75 authored by Karol Latecki's avatar Karol Latecki Committed by Changpeng Liu
Browse files

aio/rpc: Add more descriptive error messages for aio bdevs



Improve error messages where possible

Change-Id: I104998a666789c4e724d153c2cd14ee05c71b699
Signed-off-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460157


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarVitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent c4a1c90a
Loading
Loading
Loading
Loading
+11 −14
Original line number Diff line number Diff line
@@ -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)