#include <linux/module.h>
#include <linux/compiler.h>
#include <linux/fs.h>
#include <linux/fscrypt.h>
#include <linux/pagemap.h>
#include <linux/iomap.h>
#include <linux/backing-dev.h>
#include <linux/uio.h>
#include <linux/task_io_accounting_ops.h>
#include "trace.h"
#include "../internal.h"
#define IOMAP_DIO_CALLER_COMP …
#define IOMAP_DIO_INLINE_COMP …
#define IOMAP_DIO_WRITE_THROUGH …
#define IOMAP_DIO_NEED_SYNC …
#define IOMAP_DIO_WRITE …
#define IOMAP_DIO_DIRTY …
struct iomap_dio { … };
static struct bio *iomap_dio_alloc_bio(const struct iomap_iter *iter,
struct iomap_dio *dio, unsigned short nr_vecs, blk_opf_t opf)
{ … }
static void iomap_dio_submit_bio(const struct iomap_iter *iter,
struct iomap_dio *dio, struct bio *bio, loff_t pos)
{ … }
ssize_t iomap_dio_complete(struct iomap_dio *dio)
{ … }
EXPORT_SYMBOL_GPL(…);
static ssize_t iomap_dio_deferred_complete(void *data)
{ … }
static void iomap_dio_complete_work(struct work_struct *work)
{ … }
static inline void iomap_dio_set_error(struct iomap_dio *dio, int ret)
{ … }
void iomap_dio_bio_end_io(struct bio *bio)
{ … }
EXPORT_SYMBOL_GPL(…);
static void iomap_dio_zero(const struct iomap_iter *iter, struct iomap_dio *dio,
loff_t pos, unsigned len)
{ … }
static inline blk_opf_t iomap_dio_bio_opflags(struct iomap_dio *dio,
const struct iomap *iomap, bool use_fua)
{ … }
static loff_t iomap_dio_bio_iter(const struct iomap_iter *iter,
struct iomap_dio *dio)
{ … }
static loff_t iomap_dio_hole_iter(const struct iomap_iter *iter,
struct iomap_dio *dio)
{ … }
static loff_t iomap_dio_inline_iter(const struct iomap_iter *iomi,
struct iomap_dio *dio)
{ … }
static loff_t iomap_dio_iter(const struct iomap_iter *iter,
struct iomap_dio *dio)
{ … }
struct iomap_dio *
__iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
const struct iomap_ops *ops, const struct iomap_dio_ops *dops,
unsigned int dio_flags, void *private, size_t done_before)
{ … }
EXPORT_SYMBOL_GPL(…);
ssize_t
iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
const struct iomap_ops *ops, const struct iomap_dio_ops *dops,
unsigned int dio_flags, void *private, size_t done_before)
{ … }
EXPORT_SYMBOL_GPL(…);