]> git.baikalelectronics.ru Git - kernel.git/commit
ocfs2: implement the VFS clone_range, copy_range, and dedupe_range features
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 9 Nov 2016 22:13:11 +0000 (14:13 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Sat, 10 Dec 2016 20:39:45 +0000 (12:39 -0800)
commitc89a181342d7bd7cb1a3ab6f37121ebb49f812d7
tree006df64270ecc128a4b837215c7ef78bd259ff51
parent7b124be1dc719b4425e341c5b7208f8f3a6696c9
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.
fs/ocfs2/file.c
fs/ocfs2/file.h
fs/ocfs2/refcounttree.c
fs/ocfs2/refcounttree.h