1488570ebSJim Harris /* SPDX-License-Identifier: BSD-3-Clause 2*a6dbe372Spaul luse * Copyright (C) 2018 Intel Corporation. 307fe6a43SSeth Howell * All rights reserved. 407fe6a43SSeth Howell */ 507fe6a43SSeth Howell 607fe6a43SSeth Howell #ifndef VBDEV_OCF_DATA_H 707fe6a43SSeth Howell #define VBDEV_OCF_DATA_H 807fe6a43SSeth Howell 937028231SRafal Stefanowski #include "ocf_env.h" 1007fe6a43SSeth Howell #include "spdk/bdev_module.h" 1107fe6a43SSeth Howell 1207fe6a43SSeth Howell struct bdev_ocf_data { 1307fe6a43SSeth Howell struct iovec *iovs; 1407fe6a43SSeth Howell int iovcnt; 1507fe6a43SSeth Howell int iovalloc; 1607fe6a43SSeth Howell uint32_t size; 1707fe6a43SSeth Howell uint32_t seek; 1807fe6a43SSeth Howell }; 1907fe6a43SSeth Howell 2007fe6a43SSeth Howell struct bdev_ocf_data *vbdev_ocf_data_from_spdk_io(struct spdk_bdev_io *bdev_io); 2107fe6a43SSeth Howell 2207fe6a43SSeth Howell struct bdev_ocf_data *vbdev_ocf_data_alloc(uint32_t nvecs); 2307fe6a43SSeth Howell 2407fe6a43SSeth Howell void vbdev_ocf_data_free(struct bdev_ocf_data *data); 2507fe6a43SSeth Howell 2607fe6a43SSeth Howell struct bdev_ocf_data *vbdev_ocf_data_from_iov(struct iovec *iovs); 2707fe6a43SSeth Howell 2807fe6a43SSeth Howell void vbdev_ocf_iovs_add(struct bdev_ocf_data *data, void *base, size_t len); 2907fe6a43SSeth Howell 3007fe6a43SSeth Howell #endif 31