diff options
author | Christoph Hellwig <hch@lst.de> | 2016-06-21 01:53:44 +0200 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-06-21 01:53:44 +0200 |
commit | 68a9f5e7007c1afa2cf6830b690a90d0187c0684 (patch) | |
tree | 986de78ca7e20e49604faecccc95685ce52b4090 /fs/xfs/xfs_iomap.h | |
parent | xfs: reorder zeroing and flushing sequence in truncate (diff) | |
download | linux-68a9f5e7007c1afa2cf6830b690a90d0187c0684.tar.xz linux-68a9f5e7007c1afa2cf6830b690a90d0187c0684.zip |
xfs: implement iomap based buffered write path
Convert XFS to use the new iomap based multipage write path. This involves
implementing the ->iomap_begin and ->iomap_end methods, and switching the
buffered file write, page_mkwrite and xfs_iozero paths to the new iomap
helpers.
With this change __xfs_get_blocks will never be used for buffered writes,
and the code handling them can be removed.
Based on earlier code from Dave Chinner.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_iomap.h')
-rw-r--r-- | fs/xfs/xfs_iomap.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/xfs_iomap.h b/fs/xfs/xfs_iomap.h index 718f07c5c0d2..e066d045e2ff 100644 --- a/fs/xfs/xfs_iomap.h +++ b/fs/xfs/xfs_iomap.h @@ -18,7 +18,8 @@ #ifndef __XFS_IOMAP_H__ #define __XFS_IOMAP_H__ -struct iomap; +#include <linux/iomap.h> + struct xfs_inode; struct xfs_bmbt_irec; @@ -33,4 +34,6 @@ int xfs_iomap_write_unwritten(struct xfs_inode *, xfs_off_t, xfs_off_t); void xfs_bmbt_to_iomap(struct xfs_inode *, struct iomap *, struct xfs_bmbt_irec *); +extern struct iomap_ops xfs_iomap_ops; + #endif /* __XFS_IOMAP_H__*/ |