[Ocfs2-devel] [RFC] The reflink(2) system call v4.
Jonathan Corbet
corbet at lwn.net
Tue May 19 12:41:33 PDT 2009
On Tue, 19 May 2009 12:32:44 -0700
Joel Becker <Joel.Becker at oracle.com> wrote:
> I considered that, but really a process specifying
> REFLINK_ATTR_ALL wants a complete snapshot. So if we add things to our
> inodes later, and then you have an old program asking for "a complete
> snapshot", it won't get it. It'll get a partial snapshot, missing the
> things we added later.
> Conversely, a newer program that knows about the new things will
> get an error on an older kernel when it asks for the complete snapshot.
Yep, that's why I'd suggested carving out a set of bits rather larger
than the ones specified now. That would allow any future flags to be
included in the REFLINK_ATTR_ALL "space" if that seemed like the right
thing to do. It would be forward and backward compatible.
Anything added outside that bit range would, presumably, be a more
significant change which should not carry forward or backward
automatically.
> You'll note I called this 'preserve', not 'flags'. It's not a
> set of behavioral flags, it's a mask of attributes to preserve.
Understood, but that may not stop somebody else from trying to extend
the API in different directions in the future. It seems like a way to
make life easier for that person when the time comes.
Just a thought, anyway; not something I'd make a fuss about.
jon
More information about the Ocfs2-devel
mailing list