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