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. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss