OCF: add support of write_json_config

Add interface function `write_config_json` for OCF bdev

Change-Id: I88e77de649752ad5b23277a371e2a3d2fa3767c9
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/438176
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Vitaliy Mysak 2018-12-24 23:01:27 +00:00 committed by Darek Stojaczyk
parent d1f943239e
commit 3bd76a3b3a

View File

@ -400,6 +400,26 @@ vbdev_ocf_dump_config_info(void *opaque, struct spdk_json_write_ctx *w)
return 0; 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 /* Cache vbdev function table
* Used by bdev layer */ * Used by bdev layer */
static struct spdk_bdev_fn_table cache_dev_fn_table = { 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, .submit_request = vbdev_ocf_submit_request,
.get_io_channel = vbdev_ocf_get_io_channel, .get_io_channel = vbdev_ocf_get_io_channel,
.dump_info_json = vbdev_ocf_dump_config_info, .dump_info_json = vbdev_ocf_dump_config_info,
.write_config_json = vbdev_ocf_write_json_config,
}; };
/* Start OCF cache, attach caching device */ /* Start OCF cache, attach caching device */