Line data Source code
1 : /* SPDX-License-Identifier: BSD-3-Clause 2 : * Copyright (C) 2017 Intel Corporation. 3 : * All rights reserved. 4 : */ 5 : 6 : #include "spdk/stdinc.h" 7 : 8 : #include "spdk/nbd.h" 9 : 10 : #include "spdk_internal/init.h" 11 : 12 : static void 13 0 : nbd_subsystem_init(void) 14 : { 15 0 : int rc; 16 : 17 0 : rc = spdk_nbd_init(); 18 : 19 0 : spdk_subsystem_init_next(rc); 20 0 : } 21 : 22 : static void 23 0 : nbd_subsystem_fini_done(void *arg) 24 : { 25 0 : spdk_subsystem_fini_next(); 26 0 : } 27 : 28 : static void 29 0 : nbd_subsystem_fini(void) 30 : { 31 0 : spdk_nbd_fini(nbd_subsystem_fini_done, NULL); 32 0 : } 33 : 34 : static void 35 0 : nbd_subsystem_write_config_json(struct spdk_json_write_ctx *w) 36 : { 37 0 : spdk_nbd_write_config_json(w); 38 0 : } 39 : 40 : static struct spdk_subsystem g_spdk_subsystem_nbd = { 41 : .name = "nbd", 42 : .init = nbd_subsystem_init, 43 : .fini = nbd_subsystem_fini, 44 : .write_config_json = nbd_subsystem_write_config_json, 45 : }; 46 : 47 0 : SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_nbd); 48 0 : SPDK_SUBSYSTEM_DEPEND(nbd, bdev)