Commit aea859ea authored by wuzhouhui's avatar wuzhouhui Committed by Jim Harris
Browse files

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: default avatarwuzhouhui <wuzhouhui@kingsoft.com>
Reviewed-on: https://review.gerrithub.io/c/443068


Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarWojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent a8fd4524
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -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,
	return 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;
}

void