Commit 502a2d75 authored by Rafal Stefanowski's avatar Rafal Stefanowski Committed by Jim Harris
Browse files

bdev/ocf: Set defaults for OCF devices



Use dedicated OCF API functions to set default parameters during
startup configuration instead of manual and incomplete
initialization.

Signed-off-by: default avatarRafal Stefanowski <rafal.stefanowski@intel.com>
Change-Id: Ied1afa9c249a032451a266fd97ce09e6088a0f97
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9786


Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 2696886c
Loading
Loading
Loading
Loading
+24 −26
Original line number Diff line number Diff line
@@ -1162,18 +1162,15 @@ init_vbdev_config(struct vbdev_ocf *vbdev)
{
	struct vbdev_ocf_config *cfg = &vbdev->cfg;

	/* Initialize OCF defaults first */
	ocf_mngt_cache_device_config_set_default(&cfg->device);
	ocf_mngt_cache_config_set_default(&cfg->cache);
	ocf_mngt_core_config_set_default(&cfg->core);

	snprintf(cfg->cache.name, sizeof(cfg->cache.name), "%s", vbdev->name);
	snprintf(cfg->core.name, sizeof(cfg->core.name), "%s", vbdev->core.name);

	/* TODO [metadata]: make configurable with persistent
	 * metadata support */
	cfg->cache.metadata_volatile = false;

	/* This are suggested values that
	 * should be sufficient for most use cases */
	cfg->cache.backfill.max_queue_size = 65536;
	cfg->cache.backfill.queue_unblock_size = 60000;

	cfg->device.open_cores = false;
	cfg->device.perform_test = false;
	cfg->device.discard_on_start = false;

@@ -1229,10 +1226,28 @@ init_vbdev(const char *vbdev_name,
		goto error_mem;
	}

	vbdev->name = strdup(vbdev_name);
	if (!vbdev->name) {
		goto error_mem;
	}

	vbdev->cache.name = strdup(cache_name);
	if (!vbdev->cache.name) {
		goto error_mem;
	}

	vbdev->core.name = strdup(core_name);
	if (!vbdev->core.name) {
		goto error_mem;
	}

	vbdev->cache.parent = vbdev;
	vbdev->core.parent = vbdev;
	vbdev->cache.is_cache = true;
	vbdev->core.is_cache = false;
	vbdev->cfg.loadq = loadq;

	init_vbdev_config(vbdev);

	if (cache_mode_name) {
		vbdev->cfg.cache.cache_mode
@@ -1259,23 +1274,6 @@ init_vbdev(const char *vbdev_name,
	vbdev->cfg.device.cache_line_size = set_cache_line_size;
	vbdev->cfg.cache.cache_line_size = set_cache_line_size;

	vbdev->name = strdup(vbdev_name);
	if (!vbdev->name) {
		goto error_mem;
	}

	vbdev->cache.name = strdup(cache_name);
	if (!vbdev->cache.name) {
		goto error_mem;
	}

	vbdev->core.name = strdup(core_name);
	if (!vbdev->core.name) {
		goto error_mem;
	}

	vbdev->cfg.loadq = loadq;
	init_vbdev_config(vbdev);
	TAILQ_INSERT_TAIL(&g_ocf_vbdev_head, vbdev, tailq);
	return rc;