Spdk/lib/ftl/mngt/ftl_mngt_startup.c

40 lines
894 B
C
Raw Normal View History

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (c) Intel Corporation.
* All rights reserved.
*/
#include "ftl_core.h"
#include "ftl_mngt.h"
#include "ftl_mngt_steps.h"
static const struct ftl_mngt_process_desc desc_startup;
static const struct ftl_mngt_process_desc desc_startup = {
.name = "FTL startup",
.steps = {
{
.name = "Open base bdev",
.action = ftl_mngt_open_base_bdev,
.cleanup = ftl_mngt_close_base_bdev
},
{
.name = "Open cache bdev",
.action = ftl_mngt_open_cache_bdev,
.cleanup = ftl_mngt_close_cache_bdev
},
{}
}
};
int
ftl_mngt_call_dev_startup(struct spdk_ftl_dev *dev, ftl_mngt_completion cb, void *cb_cntx)
{
return ftl_mngt_process_execute(dev, &desc_startup, cb, cb_cntx);
}
void
ftl_mngt_rollback_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt)
{
ftl_mngt_call_process_rollback(mngt, &desc_startup);
}