summary refs log tree commit diff
path: root/fs/xfs/xfs_aops.h
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2015-06-04 09:18:53 +1000
committerDave Chinner <david@fromorbit.com>2015-06-04 09:18:53 +1000
commit6b698edeeef00c127d73501b386590299f01327a (patch)
treebf4fea128ac87d2c8f50b3b215ac18ad82fb2238 /fs/xfs/xfs_aops.h
parentce5c5d554dc47a4fb4360c84b72231fea081e7a0 (diff)
downloadlinux-6b698edeeef00c127d73501b386590299f01327a.tar.gz
xfs: add DAX file operations support
Add the initial support for DAX file operations to XFS. This
includes the necessary block allocation and mmap page fault hooks
for DAX to function.

Note that there are changes to the splice interfaces to ensure that
for DAX splice avoids direct page cache manipulations and instead
takes the DAX IO paths for read/write operations.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>

Diffstat (limited to 'fs/xfs/xfs_aops.h')
-rw-r--r--fs/xfs/xfs_aops.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/xfs/xfs_aops.h b/fs/xfs/xfs_aops.h
index ac644e0137a4..86afd1ac7895 100644
--- a/fs/xfs/xfs_aops.h
+++ b/fs/xfs/xfs_aops.h
@@ -53,7 +53,12 @@ typedef struct xfs_ioend {
 } xfs_ioend_t;
 
 extern const struct address_space_operations xfs_address_space_operations;
-extern int xfs_get_blocks(struct inode *, sector_t, struct buffer_head *, int);
+
+int	xfs_get_blocks(struct inode *inode, sector_t offset,
+		       struct buffer_head *map_bh, int create);
+int	xfs_get_blocks_direct(struct inode *inode, sector_t offset,
+			      struct buffer_head *map_bh, int create);
+void	xfs_end_io_dax_write(struct buffer_head *bh, int uptodate);
 
 extern void xfs_count_page_state(struct page *, int *, int *);