Calum Mackay wrote:
> We have had file delegation on by default in NFSv4 since Solaris 10 FCS, 
> putback in July 2004.

The delegation of a file gives the client certain guarantees about how 
that file may be accessed by other clients (regardless of NFS version) 
or processes local to the NFS server. If the client receives a read 
delegation it knows that no other client (or server process) may write 
to the file. If the client receives a write delegation, then no other 
client (or server process) may read or write the file.

Once a client has a delegation for a file, it may then deal locally - 
i.e. with no need to contact the server - with reads (assuming it has 
the required data cached), writes and locking. The file may even be 
closed, locally, and the client will still retain the delegation, such 
that other applications on this client may open the file, still without 
contact with the server.

Note that delegation only provides a benefit when there is no 
conflicting access. If conflicting accesses occur, the delegation is 
recalled, the client flushes its data to the server, and the conflicting 
accesses may proceed. In addition, note that a server is not *required* 
to return a delegation to the client.

I would expect a write delegation to provide some performance increase 
in the case noted, although I don't have any numbers in front of me.

cheers,
c.

Reply via email to