Spdk/lib/ftl/ftl_nv_cache_io.h
Artur Paszkiewicz 884980d0aa ftl: vss null buffer workaround
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: I94ea399ed30fae29f92b4216eaa9209c02b3478b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13310
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-08-02 19:00:42 +00:00

65 lines
2.0 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (c) Intel Corporation.
* All rights reserved.
*/
#ifndef FTL_NV_CACHE_IO_H
#define FTL_NV_CACHE_IO_H
#include "spdk/bdev.h"
#include "ftl_core.h"
static inline int
ftl_nv_cache_bdev_readv_blocks_with_md(struct spdk_ftl_dev *dev,
struct spdk_bdev_desc *desc,
struct spdk_io_channel *ch,
struct iovec *iov, int iovcnt, void *md,
uint64_t offset_blocks, uint64_t num_blocks,
spdk_bdev_io_completion_cb cb, void *cb_arg)
{
return spdk_bdev_readv_blocks_with_md(desc, ch, iov, iovcnt, md,
offset_blocks, num_blocks,
cb, cb_arg);
}
static inline int
ftl_nv_cache_bdev_writev_blocks_with_md(struct spdk_ftl_dev *dev,
struct spdk_bdev_desc *desc,
struct spdk_io_channel *ch,
struct iovec *iov, int iovcnt, void *md_buf,
uint64_t offset_blocks, uint64_t num_blocks,
spdk_bdev_io_completion_cb cb, void *cb_arg)
{
return spdk_bdev_writev_blocks_with_md(desc, ch, iov, iovcnt, md_buf,
offset_blocks, num_blocks, cb,
cb_arg);
}
static inline int
ftl_nv_cache_bdev_read_blocks_with_md(struct spdk_ftl_dev *dev,
struct spdk_bdev_desc *desc,
struct spdk_io_channel *ch,
void *buf, void *md,
uint64_t offset_blocks, uint64_t num_blocks,
spdk_bdev_io_completion_cb cb, void *cb_arg)
{
return spdk_bdev_read_blocks_with_md(desc, ch, buf, md ? : g_ftl_read_buf,
offset_blocks, num_blocks,
cb, cb_arg);
}
static inline int
ftl_nv_cache_bdev_write_blocks_with_md(struct spdk_ftl_dev *dev,
struct spdk_bdev_desc *desc,
struct spdk_io_channel *ch,
void *buf, void *md,
uint64_t offset_blocks, uint64_t num_blocks,
spdk_bdev_io_completion_cb cb, void *cb_arg)
{
return spdk_bdev_write_blocks_with_md(desc, ch, buf, md ? : g_ftl_write_buf,
offset_blocks, num_blocks,
cb, cb_arg);
}
#endif /* FTL_NV_CACHE_IO_H */