2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2022-11-01 20:26:26 +00:00
|
|
|
* Copyright (C) 2019 Intel Corporation.
|
2019-09-23 09:34:58 +00:00
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SPDK_BDEV_INTERNAL_H
|
|
|
|
#define SPDK_BDEV_INTERNAL_H
|
|
|
|
|
|
|
|
#include "spdk/bdev.h"
|
|
|
|
|
2022-04-25 17:13:18 +00:00
|
|
|
#define ZERO_BUFFER_SIZE 0x100000
|
|
|
|
|
2019-09-23 09:34:58 +00:00
|
|
|
struct spdk_bdev;
|
|
|
|
struct spdk_bdev_io;
|
|
|
|
struct spdk_bdev_channel;
|
|
|
|
|
2019-11-18 22:43:33 +00:00
|
|
|
struct spdk_bdev_io *bdev_channel_get_io(struct spdk_bdev_channel *channel);
|
2019-09-23 09:34:58 +00:00
|
|
|
|
2019-11-18 22:40:50 +00:00
|
|
|
void bdev_io_init(struct spdk_bdev_io *bdev_io, struct spdk_bdev *bdev, void *cb_arg,
|
|
|
|
spdk_bdev_io_completion_cb cb);
|
2019-09-23 09:34:58 +00:00
|
|
|
|
2019-11-18 22:34:00 +00:00
|
|
|
void bdev_io_submit(struct spdk_bdev_io *bdev_io);
|
2019-09-23 09:34:58 +00:00
|
|
|
|
2022-12-15 03:33:40 +00:00
|
|
|
struct spdk_bdev_io_stat *bdev_alloc_io_stat(bool io_error_stat);
|
2022-12-13 12:23:09 +00:00
|
|
|
void bdev_free_io_stat(struct spdk_bdev_io_stat *stat);
|
2022-12-07 07:21:03 +00:00
|
|
|
|
2022-12-21 08:09:17 +00:00
|
|
|
enum spdk_bdev_reset_stat_mode;
|
2022-12-07 08:09:42 +00:00
|
|
|
|
2022-12-07 07:21:32 +00:00
|
|
|
typedef void (*bdev_reset_device_stat_cb)(struct spdk_bdev *bdev, void *cb_arg, int rc);
|
|
|
|
|
2022-12-21 08:09:17 +00:00
|
|
|
void bdev_reset_device_stat(struct spdk_bdev *bdev, enum spdk_bdev_reset_stat_mode mode,
|
2022-12-07 08:09:42 +00:00
|
|
|
bdev_reset_device_stat_cb cb, void *cb_arg);
|
2022-12-07 07:21:32 +00:00
|
|
|
|
2019-09-23 09:34:58 +00:00
|
|
|
#endif /* SPDK_BDEV_INTERNAL_H */
|