summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-09-19 11:24:50 +1000
committerDave Chinner <david@fromorbit.com>2016-09-19 11:24:50 +1000
commita7d73fe6c538fdba42635c0b8e73382fcd4bd667 (patch)
tree52d21238ff5a36c74ecaf2401bbe91311afae37f /include
parenta254e568128804fc2f18490af617197a1d36675e (diff)
downloadlinux-a7d73fe6c538fdba42635c0b8e73382fcd4bd667.tar.gz
linux-a7d73fe6c538fdba42635c0b8e73382fcd4bd667.tar.bz2
linux-a7d73fe6c538fdba42635c0b8e73382fcd4bd667.zip
dax: provide an iomap based fault handler
Very similar to the existing dax_fault function, but instead of using the get_block callback we rely on the iomap_ops vector from iomap.c. That also avoids having to do two calls into the file system for write faults. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/dax.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/dax.h b/include/linux/dax.h
index a0595b4ddbd8..add6c4bc568f 100644
--- a/include/linux/dax.h
+++ b/include/linux/dax.h
@@ -17,6 +17,8 @@ ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *,
get_block_t, dio_iodone_t, int flags);
int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t);
int dax_truncate_page(struct inode *, loff_t from, get_block_t);
+int iomap_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
+ struct iomap_ops *ops);
int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t);
int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index);
void dax_wake_mapping_entry_waiter(struct address_space *mapping,