Spdk/test/external_code/passthru/vbdev_passthru.h
Shuhei Matsumoto 2bb2afd085 external_bdev_passthru: Use bdev_unregister_by_name() to delete a passthru bdev
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>
2023-01-31 21:40:09 +00:00

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 */