summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/dax.h6
-rw-r--r--include/linux/iomap.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/dax.h b/include/linux/dax.h
index 9c6dc7704043..add6c4bc568f 100644
--- a/include/linux/dax.h
+++ b/include/linux/dax.h
@@ -6,13 +6,19 @@
6#include <linux/radix-tree.h> 6#include <linux/radix-tree.h>
7#include <asm/pgtable.h> 7#include <asm/pgtable.h>
8 8
9struct iomap_ops;
10
9/* We use lowest available exceptional entry bit for locking */ 11/* We use lowest available exceptional entry bit for locking */
10#define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT) 12#define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT)
11 13
14ssize_t iomap_dax_rw(struct kiocb *iocb, struct iov_iter *iter,
15 struct iomap_ops *ops);
12ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, 16ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *,
13 get_block_t, dio_iodone_t, int flags); 17 get_block_t, dio_iodone_t, int flags);
14int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t); 18int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t);
15int dax_truncate_page(struct inode *, loff_t from, get_block_t); 19int dax_truncate_page(struct inode *, loff_t from, get_block_t);
20int iomap_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
21 struct iomap_ops *ops);
16int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t); 22int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t);
17int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index); 23int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index);
18void dax_wake_mapping_entry_waiter(struct address_space *mapping, 24void dax_wake_mapping_entry_waiter(struct address_space *mapping,
diff --git a/include/linux/iomap.h b/include/linux/iomap.h
index 3d70ece10313..e63e288dee83 100644
--- a/include/linux/iomap.h
+++ b/include/linux/iomap.h
@@ -22,6 +22,8 @@ struct vm_fault;
22 * Flags for iomap mappings: 22 * Flags for iomap mappings:
23 */ 23 */
24#define IOMAP_F_MERGED 0x01 /* contains multiple blocks/extents */ 24#define IOMAP_F_MERGED 0x01 /* contains multiple blocks/extents */
25#define IOMAP_F_SHARED 0x02 /* block shared with another file */
26#define IOMAP_F_NEW 0x04 /* blocks have been newly allocated */
25 27
26/* 28/*
27 * Magic value for blkno: 29 * Magic value for blkno:
@@ -64,6 +66,8 @@ struct iomap_ops {
64 66
65ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from, 67ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
66 struct iomap_ops *ops); 68 struct iomap_ops *ops);
69int iomap_file_dirty(struct inode *inode, loff_t pos, loff_t len,
70 struct iomap_ops *ops);
67int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, 71int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len,
68 bool *did_zero, struct iomap_ops *ops); 72 bool *did_zero, struct iomap_ops *ops);
69int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, 73int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,