xref: /spdk/module/bdev/ocf/data.h (revision 307b8c112ffd90a26d53dd15fad67bd9038ef526)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (c) Intel Corporation.
3  *   All rights reserved.
4  */
5 
6 #ifndef VBDEV_OCF_DATA_H
7 #define VBDEV_OCF_DATA_H
8 
9 #include "ocf_env.h"
10 #include "spdk/bdev_module.h"
11 
12 struct bdev_ocf_data {
13 	struct iovec *iovs;
14 	int iovcnt;
15 	int iovalloc;
16 	uint32_t size;
17 	uint32_t seek;
18 };
19 
20 struct bdev_ocf_data *vbdev_ocf_data_from_spdk_io(struct spdk_bdev_io *bdev_io);
21 
22 struct bdev_ocf_data *vbdev_ocf_data_alloc(uint32_t nvecs);
23 
24 void vbdev_ocf_data_free(struct bdev_ocf_data *data);
25 
26 struct bdev_ocf_data *vbdev_ocf_data_from_iov(struct iovec *iovs);
27 
28 void vbdev_ocf_iovs_add(struct bdev_ocf_data *data, void *base, size_t len);
29 
30 #endif
31