Re: xattr names for unprivileged stacking?

Theodore Y. Ts'o
2020-09-01T15:15:21Z

On Tue, Sep 01, 2020 at 10:52:05AM -0400, Theodore Y. Ts'o wrote:
> On Tue, Sep 01, 2020 at 01:34:05PM +1000, Dave Chinner wrote:
> >
> > But, unlike your implication that this is -really complex and hard
> > to do-, it's actually relatively trivial to do with the XFS
> > implementation I mentioned as each ADS stream is a fully fledged
> > inode that can point to shared data extents. If you can do data
> > manipulation on a regular inode, you'll be able to do it on an ADS,
> > and that includes copying ADS streams via reflink.
>
> Is the reflink system call on a file with ADS's atomic, or not? What
> if there are a million files is ADS hierarchy which is 100
> subdirectories deep in some places, comprising several TB's worth of
> data? Is that all going to fit in a single XFS transaction? What if
> you crash in the middle of it? Is a partially reflinked copy of an
> ADS file OK? Or a reflinked ADS file missing some portion of the
> alternate data streams?

Oh, and if the answer is that the ADS inodes should be reflinked
individually in userspace, wonderful! An ADS inode could then just be
a directory, like it was in the NeXT operating system, and copying an
ADS file could *also* be done in userspace, as a cp -r. :-)

That's fine too, and keeps the file system completely out of it. :-)

- Ted