2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2022-11-01 20:26:26 +00:00
|
|
|
* Copyright (C) 2017 Intel Corporation.
|
2017-12-02 10:15:34 +00:00
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "spdk/stdinc.h"
|
|
|
|
|
|
|
|
#include "spdk/nbd.h"
|
|
|
|
|
2021-02-26 22:00:03 +00:00
|
|
|
#include "spdk_internal/init.h"
|
2017-12-02 10:15:34 +00:00
|
|
|
|
|
|
|
static void
|
2020-05-10 19:21:13 +00:00
|
|
|
nbd_subsystem_init(void)
|
2017-12-02 10:15:34 +00:00
|
|
|
{
|
|
|
|
int rc;
|
|
|
|
|
|
|
|
rc = spdk_nbd_init();
|
|
|
|
|
|
|
|
spdk_subsystem_init_next(rc);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2020-12-17 17:12:44 +00:00
|
|
|
nbd_subsystem_fini_done(void *arg)
|
2017-12-02 10:15:34 +00:00
|
|
|
{
|
|
|
|
spdk_subsystem_fini_next();
|
|
|
|
}
|
|
|
|
|
2020-12-17 17:12:44 +00:00
|
|
|
static void
|
|
|
|
nbd_subsystem_fini(void)
|
|
|
|
{
|
|
|
|
spdk_nbd_fini(nbd_subsystem_fini_done, NULL);
|
|
|
|
}
|
|
|
|
|
2018-08-31 20:39:11 +00:00
|
|
|
static void
|
2020-05-10 19:21:13 +00:00
|
|
|
nbd_subsystem_write_config_json(struct spdk_json_write_ctx *w)
|
2018-08-31 20:39:11 +00:00
|
|
|
{
|
|
|
|
spdk_nbd_write_config_json(w);
|
|
|
|
}
|
|
|
|
|
2018-02-28 18:15:52 +00:00
|
|
|
static struct spdk_subsystem g_spdk_subsystem_nbd = {
|
|
|
|
.name = "nbd",
|
2020-05-10 19:21:13 +00:00
|
|
|
.init = nbd_subsystem_init,
|
|
|
|
.fini = nbd_subsystem_fini,
|
|
|
|
.write_config_json = nbd_subsystem_write_config_json,
|
2018-02-28 18:15:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_nbd);
|
2017-12-02 10:15:34 +00:00
|
|
|
SPDK_SUBSYSTEM_DEPEND(nbd, bdev)
|