[Ocfs2-devel] [PATCH 1/3] fs: Document the reflink(2) system call.
Joel Becker
Joel.Becker at oracle.com
Tue May 5 10:09:56 PDT 2009
On Tue, May 05, 2009 at 02:01:36PM +0100, Jamie Lokier wrote:
> Joel Becker wrote:
> > Here's another fun trick. Overwriting rsync, instead of copying
> > blocks from the already-existing source could reflink the source to the
> > .temporary, then only write the changed blocks. And since you own both
> > files, it just works. If you're overwriting someone else's file? The
> > old copy behavior is fine.
>
> The moment rsync overwrites a single block, the whole reflink file
> will be copied by the filesystem, and then rsync will overwrite other
> blocks in the copy.
This is not cowlink. It's not a "CoW the whole thing when I
touch one block". It's a new file (new inode for most implementations)
that just shares the data extents. So if I write to one block, I only
need to CoW that one block.
See my other email with the wiki pages.
Joel
--
"Maybe the time has drawn the faces I recall.
But things in this life change very slowly,
If they ever change at all."
Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127
More information about the Ocfs2-devel
mailing list