Thread (1 message) 1 message, 1 author, 2015-09-09

Re: [PATCH v1 0/8] VFS: In-kernel copy system call

From: Darrick J. Wong <hidden>
Date: 2015-09-09 21:42:10
Also in: linux-btrfs, linux-fsdevel, linux-nfs

On Wed, Sep 09, 2015 at 04:41:34PM -0400, Anna Schumaker wrote:
On 09/09/2015 04:38 PM, Chris Mason wrote:
quoted
On Wed, Sep 09, 2015 at 04:26:58PM -0400, Trond Myklebust wrote:
quoted
On Wed, Sep 9, 2015 at 4:09 PM, Chris Mason [off-list ref] wrote:
quoted
On Tue, Sep 08, 2015 at 04:08:43PM -0700, Andy Lutomirski wrote:
quoted
On Tue, Sep 8, 2015 at 3:39 PM, Darrick J. Wong [off-list ref] wrote:
quoted
On Tue, Sep 08, 2015 at 02:45:39PM -0700, Andy Lutomirski wrote:
quoted
What I meant by this was: if you ask for "regular copy", you may end
up with a reflink anyway.  Anyway, how can you reflink a range and
have the contents *not* be the same?
reflink forcibly remaps fd_dest's range to fd_src's range.  If they didn't
match before, they will afterwards.

dedupe remaps fd_dest's range to fd_src's range only if they match, of course.

Perhaps I should have said "...if the contents are the same before the call"?
Oh, I see.

Can we have a clean way to figure out whether two file ranges are the
same in a way that allows false negatives?  I.e. return 1 if the
ranges are reflinks of each other and 0 if not?  Pretty please?  I've
implemented that in the past on btrfs by syncing the ranges and then
comparing FIEMAP output, but that's hideous.
I'd almost rather have a separate call, maybe unshare_file_range()?
Doesn't it make more sense to put that functionality in fallocate()?
[slightly off-topic]

How about FALLOC_FL_UNSHARE_RANGE?  I've been looking for a place to land
an unshare op that isn't chattr +C, and fallocate seems like a better fit
anyway.

--D
quoted
That works too, I'm just hoping to keep the copy_file_range stuff
simple.
I agree with keeping copy_file_range() simple, especially for the initial
merge.  Extra stuff can always be added in later :)

Anna
quoted
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help