diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/dax.h | 6 | ||||
-rw-r--r-- | include/linux/iomap.h | 4 |
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 | ||
9 | struct 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 | ||
14 | ssize_t iomap_dax_rw(struct kiocb *iocb, struct iov_iter *iter, | ||
15 | struct iomap_ops *ops); | ||
12 | ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, | 16 | ssize_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); |
14 | int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t); | 18 | int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t); |
15 | int dax_truncate_page(struct inode *, loff_t from, get_block_t); | 19 | int dax_truncate_page(struct inode *, loff_t from, get_block_t); |
20 | int iomap_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf, | ||
21 | struct iomap_ops *ops); | ||
16 | int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t); | 22 | int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t); |
17 | int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index); | 23 | int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index); |
18 | void dax_wake_mapping_entry_waiter(struct address_space *mapping, | 24 | void 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 | ||
65 | ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from, | 67 | ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from, |
66 | struct iomap_ops *ops); | 68 | struct iomap_ops *ops); |
69 | int iomap_file_dirty(struct inode *inode, loff_t pos, loff_t len, | ||
70 | struct iomap_ops *ops); | ||
67 | int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, | 71 | int 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); |
69 | int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, | 73 | int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, |