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;
|
||||
}
|
||||
|
||||
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);
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user