Commit 3bd76a3b authored by Vitaliy Mysak's avatar Vitaliy Mysak Committed by Darek Stojaczyk
Browse files

OCF: add support of write_json_config



Add interface function `write_config_json` for OCF bdev

Change-Id: I88e77de649752ad5b23277a371e2a3d2fa3767c9
Signed-off-by: default avatarVitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/438176


Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent d1f94323
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -400,6 +400,26 @@ vbdev_ocf_dump_config_info(void *opaque, struct spdk_json_write_ctx *w)
	return 0;
}

static void
vbdev_ocf_write_json_config(struct spdk_bdev *bdev, struct spdk_json_write_ctx *w)
{
	struct vbdev_ocf *vbdev = bdev->ctxt;

	spdk_json_write_object_begin(w);

	spdk_json_write_named_string(w, "method", "construct_ocf_bdev");

	spdk_json_write_named_object_begin(w, "params");
	spdk_json_write_named_string(w, "name", vbdev->name);
	spdk_json_write_named_string(w, "mode",
				     ocf_get_cache_modename(vbdev->cfg.cache.cache_mode));
	spdk_json_write_named_string(w, "cache_bdev_name", vbdev->cache.name);
	spdk_json_write_named_string(w, "core_bdev_name", vbdev->core.name);
	spdk_json_write_object_end(w);

	spdk_json_write_object_end(w);
}

/* Cache vbdev function table
 * Used by bdev layer */
static struct spdk_bdev_fn_table cache_dev_fn_table = {
@@ -408,6 +428,7 @@ static struct spdk_bdev_fn_table cache_dev_fn_table = {
	.submit_request	= vbdev_ocf_submit_request,
	.get_io_channel	= vbdev_ocf_get_io_channel,
	.dump_info_json = vbdev_ocf_dump_config_info,
	.write_config_json = vbdev_ocf_write_json_config,
};

/* Start OCF cache, attach caching device */