summaryrefslogtreecommitdiff
path: root/fs/ocfs2/file.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-11-09 14:13:11 -0800
committerDarrick J. Wong <darrick.wong@oracle.com>2016-12-10 12:39:45 -0800
commit29ac8e856cb3694e004037de595dec4ec53d42f2 (patch)
tree006df64270ecc128a4b837215c7ef78bd259ff51 /fs/ocfs2/file.h
parent86e59436d406d833a5da4a94aefb3c3be6b26053 (diff)
downloadlinux-exynos-29ac8e856cb3694e004037de595dec4ec53d42f2.tar.gz
linux-exynos-29ac8e856cb3694e004037de595dec4ec53d42f2.tar.bz2
linux-exynos-29ac8e856cb3694e004037de595dec4ec53d42f2.zip
ocfs2: implement the VFS clone_range, copy_range, and dedupe_range features
Connect the new VFS clone_range, copy_range, and dedupe_range features to the existing reflink capability of ocfs2. Compared to the existing ocfs2 reflink ioctl We have to do things a little differently to support the VFS semantics (we can clone subranges of a file but we don't clone xattrs), but the VFS ioctls are more broadly supported. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> --- v2: Convert inline data files to extents files before reflinking, and fix i_blocks so that stat(2) output is correct. v3: Make zero-length dedupe consistent with btrfs behavior. v4: Use VFS double-inode lock routines and remove MAX_DEDUPE_LEN.
Diffstat (limited to 'fs/ocfs2/file.h')
-rw-r--r--fs/ocfs2/file.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ocfs2/file.h b/fs/ocfs2/file.h
index e8c62f22215c..897fd9a2e51d 100644
--- a/fs/ocfs2/file.h
+++ b/fs/ocfs2/file.h
@@ -82,4 +82,7 @@ int ocfs2_change_file_space(struct file *file, unsigned int cmd,
int ocfs2_check_range_for_refcount(struct inode *inode, loff_t pos,
size_t count);
+int ocfs2_remove_inode_range(struct inode *inode,
+ struct buffer_head *di_bh, u64 byte_start,
+ u64 byte_len);
#endif /* OCFS2_FILE_H */