diff options
author | Dave Chinner <dchinner@redhat.com> | 2015-06-04 01:18:53 +0200 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2015-06-04 01:18:53 +0200 |
commit | 6b698edeeef00c127d73501b386590299f01327a (patch) | |
tree | bf4fea128ac87d2c8f50b3b215ac18ad82fb2238 /fs/xfs/xfs_aops.h | |
parent | dax: expose __dax_fault for filesystems with locking constraints (diff) | |
download | linux-6b698edeeef00c127d73501b386590299f01327a.tar.xz linux-6b698edeeef00c127d73501b386590299f01327a.zip |
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.h | 7 |
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 *); |