From aea859eaab58981f19d5738f600a0041f4a203b7 Mon Sep 17 00:00:00 2001 From: wuzhouhui Date: Sat, 2 Feb 2019 13:17:51 +0800 Subject: [PATCH] bdev/ftl: bdev_ftl_init_bdev: do not call cb if failed According to the current implementation, the functions that called by bdev_ftl_init_bdev() will not call callback if they return errno. Besides, the caller of bdev_ftl_init_bdev() (e.g. spdk_rpc_construct_ftl_bdev()) don't expect callback be called if callee return errno. Change-Id: I5f36d5332ac66db65bb2090e9625a73b1107306b Signed-off-by: wuzhouhui Reviewed-on: https://review.gerrithub.io/c/443068 Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Konrad Sztyber Reviewed-by: Wojciech Malikowski Reviewed-by: Ben Walker Reviewed-by: Jim Harris Tested-by: SPDK CI Jenkins --- lib/bdev/ftl/bdev_ftl.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lib/bdev/ftl/bdev_ftl.c b/lib/bdev/ftl/bdev_ftl.c index cd1eb0e78..2a864dc59 100644 --- a/lib/bdev/ftl/bdev_ftl.c +++ b/lib/bdev/ftl/bdev_ftl.c @@ -823,7 +823,6 @@ bdev_ftl_init_bdev(struct ftl_bdev_init_opts *opts, ftl_bdev_init_fn cb, void *c { struct ftl_bdev_ctrlr *ftl_ctrlr; struct spdk_nvme_ctrlr *ctrlr; - int rc = 0; assert(opts != NULL); assert(cb != NULL); @@ -843,24 +842,16 @@ bdev_ftl_init_bdev(struct ftl_bdev_init_opts *opts, ftl_bdev_init_fn cb, void *c ctrlr = spdk_nvme_connect(&opts->trid, NULL, 0); if (!ctrlr) { - rc = -ENODEV; - goto error; - + return -ENODEV; } if (!spdk_nvme_ctrlr_is_ocssd_supported(ctrlr)) { spdk_nvme_detach(ctrlr); - rc = -EPERM; - goto error; + return -EPERM; } - rc = bdev_ftl_create(ctrlr, &opts->trid, opts->name, &opts->range, - opts->mode, &opts->uuid, cb, cb_arg); - - return rc; -error: - cb(NULL, cb_arg, rc); - return rc; + return bdev_ftl_create(ctrlr, &opts->trid, opts->name, &opts->range, + opts->mode, &opts->uuid, cb, cb_arg); } void