Merge tag 'ceph-for-4.9-rc2' of git://github.com/ceph/ceph-client
[linux-2.6-block.git] / fs / xfs / xfs_reflink.h
index 1d2f180f9ecad71d8e43610330d4d3b84b6f5df8..5dc3c8ac12aa5bef547904ca5dbe48275d63bc34 100644 (file)
@@ -43,5 +43,16 @@ extern int xfs_reflink_cancel_cow_range(struct xfs_inode *ip, xfs_off_t offset,
 extern int xfs_reflink_end_cow(struct xfs_inode *ip, xfs_off_t offset,
                xfs_off_t count);
 extern int xfs_reflink_recover_cow(struct xfs_mount *mp);
+#define XFS_REFLINK_DEDUPE     1       /* only reflink if contents match */
+#define XFS_REFLINK_ALL                (XFS_REFLINK_DEDUPE)
+extern int xfs_reflink_remap_range(struct xfs_inode *src, xfs_off_t srcoff,
+               struct xfs_inode *dest, xfs_off_t destoff, xfs_off_t len,
+               unsigned int flags);
+extern int xfs_reflink_clear_inode_flag(struct xfs_inode *ip,
+               struct xfs_trans **tpp);
+extern int xfs_reflink_unshare(struct xfs_inode *ip, xfs_off_t offset,
+               xfs_off_t len);
+
+extern bool xfs_reflink_has_real_cow_blocks(struct xfs_inode *ip);
 
 #endif /* __XFS_REFLINK_H */