[PATCH 02/18] xstat: Add a pair of system calls to make extended file stats available [ver #6]

David Howells dhowells at redhat.com
Mon Jul 19 11:26:40 MDT 2010

Linus Torvalds <torvalds at linux-foundation.org> wrote:

> > The new information is useful for some cases.  Samba for example.  At
> > least two of the fields I'm adding are also made available through BSD's
> > stat() call, and will automatically be used for some things by autoconf
> > magic if they become available.
> .. that' a pointless argument. If the only way something gets used is
> through autoconf, then clearly nobody cares.

That's not what I meant at all.  I meant there may be things out there that
will just use st_btime and st_gen as soon as they appear without anything
having to be done to them because these fields already exist in the BSD stat

Samba is such an example as this.  It will use st_btime immediately if it
exists as the SMB protocol wants to pass the creation time around.

> Yeah, maybe it adds a flag to "ls", but let's face is - that isn't actually
> _buying_ anything.

Not having ls cause a mass automount just because you did an ls of a directory
full of automount points would be very nice.

> So the only thing that matters for new system calls is who actually
> really seriously wants to use the information, even if it's not there
> by default. Is it _anybody_ else than samba?

Perhaps.  As previously mentioned, BSD (and other unices) already make some of
these fields available (notably st_btime and st_gen).  We could also make a
BSD-compatible st_flags available.

> In other words, in the absense of some seriously generic users, it
> sounds more like an ioctl to me to ask for something like "creation
> time" or "inode version", when not all filesystems support anything
> like that.

I initially did them by getxattr(), but that didn't go down too well.

> Ask your samba people, for example, if they'd _ever_ do just a "xstat()"?

I suspect they would, though maybe they can say otherwise.  What about SMB
directory enumeration?  I believe that is effectively getdents-with-stat.
Having to do open+stat for each file for that would be painful.


More information about the samba-technical mailing list