On 12/10/2012 08:11 AM, Paul Gideon Dann wrote:
I've been learning about the close-to-open policy of NFS, which causes each file to be flushed to the server as it's closed, to ensure consistency across clients. This is a big performance hit when trying to upgrade the system, because of the numerous writes to small files.
I know about the "async" export option, obviously, but there is also a "nocto" client mount option, which is supposed to disable the close-to-open mechanism for that client. As far as I can tell, this is supposed to stop the client from flushing the file when it closes it (as well as not bothering to check cache consistency when it opens). However, this seems to have no effect: the client is still flushing the file to the server on close, causing massive wait-io.
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.
- Bryan
Thanks for any insight, Paul