On 2012-04-19, at 8:06 AM, David Howells wrote:
Add a pair of system calls to make extended file stats available, including file creation time, inode version and data version where available through the underlying filesystem.
The idea was initially proposed as a set of xattrs that could be retrieved with getxattr(), but the general preferance proved to be for new syscalls with an extended stat structure.
I would comment that it was the opposite. It was originally a stat()-like extension that degraded into a messy getxattr() mess.
(2) Lightweight stat: Ask for just those details of interest, and allow a netfs (such as NFS) to approximate anything not of interest, possibly without going to the server [Trond Myklebust, Ulrich Drepper].
This was my original motivation for this functionality, so you can put my name here also.
The fields in struct xstat come in a number of classes:
(0) st_dev, st_blksize, st_information.
These are local data and are always available.
For the extra two bits it would cost us, I don't think st_blksize and st_information should always be returned. st_blksize may be variable for a distributed filesystem, and some of the fields in st_information (offline) may not be free to access either.
Cheers, Andreas