xref: /spdk/module/bdev/uring/bdev_uring.h (revision d62e9b746390eb9b1d2d3eca22f52b9205cb089a)
1488570ebSJim Harris /*   SPDX-License-Identifier: BSD-3-Clause
2a6dbe372Spaul luse  *   Copyright (C) 2019 Intel Corporation.
307fe6a43SSeth Howell  *   All rights reserved.
407fe6a43SSeth Howell  */
507fe6a43SSeth Howell 
607fe6a43SSeth Howell #ifndef SPDK_BDEV_URING_H
707fe6a43SSeth Howell #define SPDK_BDEV_URING_H
807fe6a43SSeth Howell 
907fe6a43SSeth Howell #include "spdk/stdinc.h"
1007fe6a43SSeth Howell 
1107fe6a43SSeth Howell #include "spdk/queue.h"
1207fe6a43SSeth Howell #include "spdk/bdev.h"
1307fe6a43SSeth Howell 
1407fe6a43SSeth Howell #include "spdk/bdev_module.h"
1507fe6a43SSeth Howell 
1607fe6a43SSeth Howell typedef void (*spdk_delete_uring_complete)(void *cb_arg, int bdeverrno);
1707fe6a43SSeth Howell 
1833e0e723SYoav Cohen struct bdev_uring_opts {
1933e0e723SYoav Cohen 	const char *name;
2033e0e723SYoav Cohen 	const char *filename;
2133e0e723SYoav Cohen 	uint32_t block_size;
2233e0e723SYoav Cohen 	struct spdk_uuid uuid;
2333e0e723SYoav Cohen };
2433e0e723SYoav Cohen 
2533e0e723SYoav Cohen struct spdk_bdev *create_uring_bdev(const struct bdev_uring_opts *opts);
2607fe6a43SSeth Howell 
274573e4ccSShuhei Matsumoto void delete_uring_bdev(const char *name, spdk_delete_uring_complete cb_fn, void *cb_arg);
2807fe6a43SSeth Howell 
29*d62e9b74Sliucheng int bdev_uring_rescan(const char *name);
30*d62e9b74Sliucheng 
3107fe6a43SSeth Howell #endif /* SPDK_BDEV_URING_H */
32