summaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_bmap.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 09:11:28 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2016-10-04 11:05:44 -0700
commit9f3afb57d5f1e7145986132106c6ca91f8136cc2 (patch)
tree37792cc32fef4ac1dfdb40049bd041f8259f2dda /fs/xfs/libxfs/xfs_bmap.h
parent4847acf868bb426455c8b703c80ed5fc5e2ee556 (diff)
downloadlinux-9f3afb57d5f1e7145986132106c6ca91f8136cc2.tar.gz
linux-9f3afb57d5f1e7145986132106c6ca91f8136cc2.tar.bz2
linux-9f3afb57d5f1e7145986132106c6ca91f8136cc2.zip
xfs: implement deferred bmbt map/unmap operations
Implement deferred versions of the inode block map/unmap functions. These will be used in subsequent patches to make reflink operations atomic. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/libxfs/xfs_bmap.h')
-rw-r--r--fs/xfs/libxfs/xfs_bmap.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_bmap.h b/fs/xfs/libxfs/xfs_bmap.h
index 9c0406720d69..b40ef797a4bf 100644
--- a/fs/xfs/libxfs/xfs_bmap.h
+++ b/fs/xfs/libxfs/xfs_bmap.h
@@ -231,4 +231,13 @@ struct xfs_bmap_intent {
struct xfs_bmbt_irec bi_bmap;
};
+int xfs_bmap_finish_one(struct xfs_trans *tp, struct xfs_defer_ops *dfops,
+ struct xfs_inode *ip, enum xfs_bmap_intent_type type,
+ int whichfork, xfs_fileoff_t startoff, xfs_fsblock_t startblock,
+ xfs_filblks_t blockcount, xfs_exntst_t state);
+int xfs_bmap_map_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
+ struct xfs_inode *ip, struct xfs_bmbt_irec *imap);
+int xfs_bmap_unmap_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
+ struct xfs_inode *ip, struct xfs_bmbt_irec *imap);
+
#endif /* __XFS_BMAP_H__ */