From cca2eab10a1f673a83bf570f88a932c3b1180165 Mon Sep 17 00:00:00 2001 From: Vitaliy Mysak Date: Wed, 22 May 2019 21:07:10 +0000 Subject: [PATCH] ocf: allow loading cache without setting cache mode Make init_vbdev() accept NULL as cache_mode if loadq flag is set. This is needed for load path because we don't know cache mode before the actual load (happens later). This change is related to persistant metadata support. This patch does not change current behavior because loadq flag is always false. Change-Id: I42727eb841d87903c81bd5e6d51b6d4869ed9be3 Signed-off-by: Vitaliy Mysak Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455411 Reviewed-by: Jim Harris Reviewed-by: Darek Stojaczyk Reviewed-by: Tomasz Zawadzki Tested-by: SPDK CI Jenkins --- lib/bdev/ocf/vbdev_ocf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bdev/ocf/vbdev_ocf.c b/lib/bdev/ocf/vbdev_ocf.c index 7b6d30e66..ddbcb5120 100644 --- a/lib/bdev/ocf/vbdev_ocf.c +++ b/lib/bdev/ocf/vbdev_ocf.c @@ -671,7 +671,7 @@ vbdev_ocf_write_json_config(struct spdk_bdev *bdev, struct spdk_json_write_ctx * 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)); + ocf_get_cache_modename(ocf_cache_get_mode(vbdev->ocf_cache))); 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); @@ -1101,7 +1101,7 @@ init_vbdev(const char *vbdev_name, if (cache_mode_name) { vbdev->cfg.cache.cache_mode = ocf_get_cache_mode(cache_mode_name); - } else { + } else if (!loadq) { /* In load path it is OK to pass NULL as cache mode */ SPDK_ERRLOG("No cache mode specified\n"); rc = -EINVAL; goto error_free;