Commit 6c84c86e authored by Yankun Li's avatar Yankun Li Committed by Jim Harris
Browse files

lib/blob: destroy spdk_bs_dev instance and call cb_fn



If the bs_opts_copy fails, release spdk_bs_dev and call the callback
function cb_fn.

Change-Id: Ibc473caaec873f53fb86df78543d5930855bba65
Signed-off-by: default avatarYankun Li <yankun@staff.sina.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25440


Community-CI: Mellanox Build Bot
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
parent 285a3723
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5055,6 +5055,8 @@ spdk_bs_load(struct spdk_bs_dev *dev, struct spdk_bs_opts *o,
	spdk_bs_opts_init(&opts, sizeof(opts));
	if (o) {
		if (bs_opts_copy(o, &opts)) {
			dev->destroy(dev);
			cb_fn(cb_arg, NULL, -EINVAL);
			return;
		}
	}
@@ -5529,6 +5531,8 @@ spdk_bs_init(struct spdk_bs_dev *dev, struct spdk_bs_opts *o,
	spdk_bs_opts_init(&opts, sizeof(opts));
	if (o) {
		if (bs_opts_copy(o, &opts)) {
			dev->destroy(dev);
			cb_fn(cb_arg, NULL, -EINVAL);
			return;
		}
	}
@@ -9983,6 +9987,8 @@ spdk_bs_grow(struct spdk_bs_dev *dev, struct spdk_bs_opts *o,
	spdk_bs_opts_init(&opts, sizeof(opts));
	if (o) {
		if (bs_opts_copy(o, &opts)) {
			dev->destroy(dev);
			cb_fn(cb_arg, NULL, -EINVAL);
			return;
		}
	}