diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2016-11-09 14:13:11 -0800 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2016-12-10 12:39:45 -0800 |
commit | 29ac8e856cb3694e004037de595dec4ec53d42f2 (patch) | |
tree | 006df64270ecc128a4b837215c7ef78bd259ff51 /fs/ocfs2/file.h | |
parent | 86e59436d406d833a5da4a94aefb3c3be6b26053 (diff) | |
download | linux-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.h | 3 |
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 */ |