Re: [PATCH 1/6] statx: Add a system call to make enhanced file info available

David Howells
2016-05-10T08:25:55Z

Christoph Hellwig <hch@infradead.org> wrote:

> > It does what stat() does now, whatever that is for each fs. The
> > assumption is that this might be used to emulate stat() from userspace.
> > However, we want to be able to make sure we get the two behaviours above.
>
> And why would you emulate stat if we already have a perfectly working
> version of it? Either way we need to document what that behavior is,
> and why userspace would chose one of the three options.

Because it's not necessarily a perfectly working version of it. See the Y2037
problem for example.

I was assuming that C libraries might want to update the struct stat and the
stat call() to provide fields that aren't currently there in Linux but are in
other OS's. We could even dispense with older stat syscalls on new arches.

Admittedly, this means that you would have backwardly incompatible versions of
the C library and would have to version your interface, so it might be too
much effort.

However, if we're going to discard this possibility, we can make these
features available only to direct calls of extended stat.

David