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: Kozlowski 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: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
8c41c40331
commit
d748bc41e2
@ -459,6 +459,12 @@ ftl_mngt_validate_sb(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt)
|
|||||||
return;
|
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) {
|
if (spdk_uuid_compare(&sb->uuid, &dev->conf.uuid) != 0) {
|
||||||
FTL_ERRLOG(dev, "Invalid FTL superblock UUID\n");
|
FTL_ERRLOG(dev, "Invalid FTL superblock UUID\n");
|
||||||
ftl_mngt_fail_step(mngt);
|
ftl_mngt_fail_step(mngt);
|
||||||
|
@ -95,6 +95,10 @@ static const struct ftl_mngt_process_desc desc_startup = {
|
|||||||
.name = "Initialize layout",
|
.name = "Initialize layout",
|
||||||
.action = ftl_mngt_init_layout
|
.action = ftl_mngt_init_layout
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "Verify layout",
|
||||||
|
.action = ftl_mngt_layout_verify,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "Initialize metadata",
|
.name = "Initialize metadata",
|
||||||
.action = ftl_mngt_init_md,
|
.action = ftl_mngt_init_md,
|
||||||
@ -105,6 +109,10 @@ static const struct ftl_mngt_process_desc desc_startup = {
|
|||||||
.action = ftl_mngt_init_nv_cache,
|
.action = ftl_mngt_init_nv_cache,
|
||||||
.cleanup = ftl_mngt_deinit_nv_cache
|
.cleanup = ftl_mngt_deinit_nv_cache
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "Upgrade layout",
|
||||||
|
.action = ftl_mngt_layout_upgrade,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "Initialize valid map",
|
.name = "Initialize valid map",
|
||||||
.action = ftl_mngt_init_vld_map,
|
.action = ftl_mngt_init_vld_map,
|
||||||
|
Loading…
Reference in New Issue
Block a user