2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2022-11-01 20:26:26 +00:00
|
|
|
* Copyright (C) 2016 Intel Corporation.
|
2017-06-06 20:26:04 +00:00
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "spdk/stdinc.h"
|
|
|
|
|
|
|
|
#include "spdk/bdev.h"
|
2017-10-17 18:21:50 +00:00
|
|
|
#include "spdk/env.h"
|
2018-06-11 20:32:15 +00:00
|
|
|
#include "spdk/thread.h"
|
2017-06-06 20:26:04 +00:00
|
|
|
|
2021-02-26 22:00:03 +00:00
|
|
|
#include "spdk_internal/init.h"
|
2017-10-25 13:58:02 +00:00
|
|
|
#include "spdk/env.h"
|
2017-06-06 20:26:04 +00:00
|
|
|
|
2017-06-14 23:37:15 +00:00
|
|
|
static void
|
2020-05-10 19:14:01 +00:00
|
|
|
bdev_initialize_complete(void *cb_arg, int rc)
|
2017-06-14 23:37:15 +00:00
|
|
|
{
|
|
|
|
spdk_subsystem_init_next(rc);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2020-05-10 19:14:01 +00:00
|
|
|
bdev_subsystem_initialize(void)
|
2017-06-14 23:37:15 +00:00
|
|
|
{
|
2020-05-10 19:14:01 +00:00
|
|
|
spdk_bdev_initialize(bdev_initialize_complete, NULL);
|
2017-06-14 23:37:15 +00:00
|
|
|
}
|
|
|
|
|
2017-10-06 14:17:38 +00:00
|
|
|
static void
|
2020-05-10 19:14:01 +00:00
|
|
|
bdev_subsystem_finish_done(void *cb_arg)
|
2017-10-25 13:58:02 +00:00
|
|
|
{
|
|
|
|
spdk_subsystem_fini_next();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2020-05-10 19:14:01 +00:00
|
|
|
bdev_subsystem_finish(void)
|
2017-06-14 23:37:15 +00:00
|
|
|
{
|
2020-05-10 19:14:01 +00:00
|
|
|
spdk_bdev_finish(bdev_subsystem_finish_done, NULL);
|
2017-06-14 23:37:15 +00:00
|
|
|
}
|
|
|
|
|
2018-03-19 18:00:54 +00:00
|
|
|
static void
|
2020-05-10 19:14:01 +00:00
|
|
|
bdev_subsystem_config_json(struct spdk_json_write_ctx *w)
|
2018-03-19 18:00:54 +00:00
|
|
|
{
|
|
|
|
spdk_bdev_subsystem_config_json(w);
|
|
|
|
}
|
|
|
|
|
2018-02-28 18:15:52 +00:00
|
|
|
static struct spdk_subsystem g_spdk_subsystem_bdev = {
|
|
|
|
.name = "bdev",
|
2020-05-10 19:14:01 +00:00
|
|
|
.init = bdev_subsystem_initialize,
|
|
|
|
.fini = bdev_subsystem_finish,
|
|
|
|
.write_config_json = bdev_subsystem_config_json,
|
2018-02-28 18:15:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_bdev);
|
2020-02-05 17:10:05 +00:00
|
|
|
SPDK_SUBSYSTEM_DEPEND(bdev, accel)
|
2019-06-28 11:37:14 +00:00
|
|
|
SPDK_SUBSYSTEM_DEPEND(bdev, vmd)
|
2020-01-28 21:47:46 +00:00
|
|
|
SPDK_SUBSYSTEM_DEPEND(bdev, sock)
|
2022-11-04 14:19:47 +00:00
|
|
|
SPDK_SUBSYSTEM_DEPEND(bdev, iobuf)
|