J. Bruce Fields [off-list ref] wrote:
quoted
(11) Include granularity fields in the time data to indicate the
granularity of each of the times (NFSv4 time_delta) [Steve French].
It looks like you're including this with *each* time? But surely
there's no filesystem with different granularity (say) for ctime than
for mtime.
I put it in each time struct to use up the hole there. I could, I suppose,
split tv_sec from tv_nsec to get rid of the holes and then put the granularity
separately. That means that someone who wanted both the tv_sec and tv_nsec
would have to fish them out separately, but that's probably okay.
I could even make the granularity bigger then, to allow for the possibility of
having a granularity >4s, but I don't know of anywhere that requires a gran >2.
Also, nfsd will want only one time_delta, not one for each time.
time_delta? Is that the same as granularity?
Note also we need to document carefully what this means: I think it
should be the granularity that the filesystem is capable of
representing, but people are sometimes surprised to find out that the
actual time source is usually more coarse-grained than that.
Yeah, but the latter is something you may not be able to determine, and may
indeed change over time (say someone updates the server kernel to one with a
more fine-grained software clock). Also, for a network fs, it may depend on
the client that happened to set that time last.
David