On Tuesday 11 Dec 2012 09:07:12 Bryan Schumaker wrote:
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.
I really appreciate you taking the time to look into this, Bryan. So you say you think that with "nocto", it's the VFS layer that's causing the flush on close now? That seems strange to me, since that's not normal behaviour for any filesystem other than NFS. If it's the attributes that are being checked by the heuristic, this also doesn't seem to explain why the data itself is being flushed... Paul