spdk_bdev_unregister_by_name() is safer than spdk_bdev_get_by_name() + spdk_bdev_unregister(). It is ensured that the specified callback is executed after unwinding stack for spdk_bdev_unregister_by_name(). Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I5cc1e88a7e389ab173ef1195bd817d2aac6a70d1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16556 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
34 lines
895 B
C
34 lines
895 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright (C) 2020 Intel Corporation.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef SPDK_VBDEV_PASSTHRU_H
|
|
#define SPDK_VBDEV_PASSTHRU_H
|
|
|
|
#include "spdk/stdinc.h"
|
|
|
|
#include "spdk/bdev.h"
|
|
#include "spdk/bdev_module.h"
|
|
|
|
/**
|
|
* Create new pass through bdev.
|
|
*
|
|
* \param bdev_name Bdev on which pass through vbdev will be created.
|
|
* \param vbdev_name Name of the pass through bdev.
|
|
* \return 0 on success, other on failure.
|
|
*/
|
|
int bdev_passthru_external_create_disk(const char *bdev_name, const char *vbdev_name);
|
|
|
|
/**
|
|
* Delete passthru bdev.
|
|
*
|
|
* \param bdev_name Name of the pass through bdev to delete.
|
|
* \param cb_fn Function to call after deletion.
|
|
* \param cb_arg Argument to pass to cb_fn.
|
|
*/
|
|
void bdev_passthru_external_delete_disk(const char *bdev_name, spdk_bdev_unregister_cb cb_fn,
|
|
void *cb_arg);
|
|
|
|
#endif /* SPDK_VBDEV_PASSTHRU_H */
|