Re: [PATCH 3/3] Add a pair of system calls to make extended file stats available

From: Steve French
Date: Tue Jun 29 2010 - 18:34:06 EST


On Tue, Jun 29, 2010 at 5:13 PM, Ulrich Drepper <drepper@xxxxxxxxx> wrote:
> On Tue, Jun 29, 2010 at 13:03, David Howells <dhowells@xxxxxxxxxx> 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:
>
> If you add something like this you might want to integrate another
> extension.  This has been discussed a long time ago.  In almost no
> situation all the information is needed.  Some of the pieces of
> information returned by the syscall might be harder to collect than
> other.  It makes sense in such a situation to allow the caller to
> specify what she is interested in.  A bitmask of some sort.  This was
> brought up by the HPC people with gigantic filesystems.
>
> For this the syscall interface should have a parameter to specify what
> is requested and the stat-like structure should have a field
> specifying what is actually present.  The latter bitmask must be a
> superset of the former.
>
> Previous discussions centered around reusing the stat data structure
> and somehow make it work.  But no clean solution was found.  If a new
> structure is added anyway this could solve the issue.

That makes sense, especially for network file systems. NFSv4
protocol spec anticipates that:

"With the NFS version 4 protocol, the client is able query what attributes
the server supports and construct requests with only those supported
attributes (or a subset thereof)."

and we were talking about something similar for SMB2 Unix Extensions
(posix extensions) at the last plugfest (for SMB2 kernel
client to Samba)
and testing events.
--
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/