2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2017-09-29 08:49:51 +00:00
|
|
|
* Copyright (c) Intel Corporation.
|
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SPDK_BDEV_PMEM_H
|
|
|
|
#define SPDK_BDEV_PMEM_H
|
|
|
|
|
|
|
|
#include "spdk/bdev.h"
|
|
|
|
|
2018-06-22 09:48:31 +00:00
|
|
|
typedef void (*spdk_delete_pmem_complete)(void *cb_arg, int bdeverrno);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create new pmem bdev.
|
|
|
|
*
|
|
|
|
* \param pmem_file Pointer to pmem pool file.
|
|
|
|
* \param name Bdev name.
|
|
|
|
* \param bdev output parameter for bdev when operation is successful.
|
|
|
|
* \return 0 on success.
|
|
|
|
* -EIO if pool check failed
|
2018-08-24 09:09:27 +00:00
|
|
|
* -EINVAL if input parameters check failed
|
2018-06-22 09:48:31 +00:00
|
|
|
* -ENOMEM if buffer cannot be allocated
|
|
|
|
*/
|
2020-05-10 07:55:44 +00:00
|
|
|
int create_pmem_disk(const char *pmem_file, const char *name, struct spdk_bdev **bdev);
|
2017-09-29 08:49:51 +00:00
|
|
|
|
2018-06-22 09:48:31 +00:00
|
|
|
/**
|
|
|
|
* Delete pmem bdev.
|
|
|
|
*
|
2022-03-29 05:55:53 +00:00
|
|
|
* \param name Name of pmem bdev.
|
2018-06-22 09:48:31 +00:00
|
|
|
* \param cb_fn Function to call after deletion.
|
|
|
|
* \param cb_arg Argument to pass to cb_fn.
|
|
|
|
*/
|
2022-03-29 05:55:53 +00:00
|
|
|
void delete_pmem_disk(const char *name, spdk_delete_pmem_complete cb_fn,
|
2020-05-10 07:55:44 +00:00
|
|
|
void *cb_arg);
|
2018-06-22 09:48:31 +00:00
|
|
|
|
2017-09-29 08:49:51 +00:00
|
|
|
#endif /* SPDK_BDEV_PMEM_H */
|