[Ocfs2-devel] [PATCH 1/3] fs: Document the reflink(2) system call.
Jamie Lokier
jamie at shareable.org
Tue May 5 09:03:13 PDT 2009
Chris Mason wrote:
> > > The main difference between reflink and the btrfs ioctl is that in the
> > > btrfs ioctl the destination file must already exist. The btrfs code can
> > > also do range replacements in the destination file, but I'd agree with
> > > Joel that we don't want to toss the kitchen sink into something nice and
> > > clean like reflink.
> >
> > Ah, now that I know about the BTRFS data-cloning ioctl... :-)
> >
> > I'm wondering why reflink() is needed at all. Can't it be done in
> > userspace, using the BTRFS ioctl? The hard part in userspace seems to
> > be copying the file attributes, but "cp -a" and other tools manage.
> >
>
> reflink is a subset of what the btrfs ioctl does, and that's a good
> thing. The way they've added support for this to ocfs2 is really cool,
> and the same ideas could be used in other filesystems.
>
> So, I'd rather see a system call that everyone can implement, and if
> btrfs hangs on to the ioctl for extra features, even better.
Realistically, very few existing filesystems can implement this system call.
I agree that it's much more likely that a filesystem can implement
reflink() than BTRFS' more flexible data cloning though.
-- Jamie
More information about the Ocfs2-devel
mailing list