From 2c4928649a7decf73e4ad57a16a8d7c054b5d69e 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. Signed-off-by: Vitaliy Mysak Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455411 (master) (cherry picked from commit cca2eab10a1f673a83bf570f88a932c3b1180165) Change-Id: I42727eb841d87903c81bd5e6d51b6d4869ed9be3 Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457265 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker --- 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;