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 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html