[arch-general] NFS close-to-open

Bryan Schumaker bjschuma at gmail.com
Tue Dec 11 09:07:12 EST 2012

On 12/10/2012 10:23 AM, Paul Gideon Dann wrote:
> On Monday 10 Dec 2012 09:26:51 Bryan Schumaker wrote:
>> On 12/10/2012 08:11 AM, Paul Gideon Dann wrote:
>>> Does anyone have any idea why "nocto" doesn't have the effect I was hoping
>>> it would?  The "async" option works as expected, but it's more important
>>> to me that the client cache is correct, and it just bugs me.
>> What NFS version are you using?  I just took a quick glance through the code
>> and from what I can tell, v2 and v3 check for the "nocto" flag but v4
>> doesn't.  I'm not sure if this is an oversight or by design, but I can ask
>> later today.
> I'm using v3.  This is a diskless Beowulk cluster, and mkinitcpio-net-utils 
> doesn't boot from v4 yet.
> Paul

After thinking on this some more and going through the code again, I think that the "nocto" only affects writing and fetching attributes for a file (the man page mentions using a heuristic to determine if files have changed on the server).  I think the VFS is in charge of scheduling the flush, so we don't know if it's being called for close(), fsync() or any other reason.  The nocto flag is checked around calls to __nfs_revalidate_inode(), which is used to update information about a file.

- Bryan

More information about the arch-general mailing list