Commit d748bc41 authored by Kozlowski Mateusz's avatar Kozlowski Mateusz Committed by Jim Harris
Browse files

ftl: Add layout upgrade to management path



Execute the upgrade management path during startup. Will attempt to
update metadata and verify layout validity.

Signed-off-by: default avatarKozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: I2cff15cbe87836ca8b7700d0e3f4eee0f331ac56
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14450


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 8c41c403
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -459,6 +459,12 @@ ftl_mngt_validate_sb(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt)
		return;
	}

	if (ftl_superblock_upgrade(dev)) {
		FTL_ERRLOG(dev, "FTL superblock dirty or invalid version\n");
		ftl_mngt_fail_step(mngt);
		return;
	}

	if (spdk_uuid_compare(&sb->uuid, &dev->conf.uuid) != 0) {
		FTL_ERRLOG(dev, "Invalid FTL superblock UUID\n");
		ftl_mngt_fail_step(mngt);
+8 −0
Original line number Diff line number Diff line
@@ -95,6 +95,10 @@ static const struct ftl_mngt_process_desc desc_startup = {
			.name = "Initialize layout",
			.action = ftl_mngt_init_layout
		},
		{
			.name = "Verify layout",
			.action = ftl_mngt_layout_verify,
		},
		{
			.name = "Initialize metadata",
			.action = ftl_mngt_init_md,
@@ -105,6 +109,10 @@ static const struct ftl_mngt_process_desc desc_startup = {
			.action = ftl_mngt_init_nv_cache,
			.cleanup = ftl_mngt_deinit_nv_cache
		},
		{
			.name = "Upgrade layout",
			.action = ftl_mngt_layout_upgrade,
		},
		{
			.name = "Initialize valid map",
			.action = ftl_mngt_init_vld_map,