Rick Macklem rmacklem at
Tue Jul 17 21:09:24 UTC 2007

On Tue, 17 Jul 2007, Eric Anderson wrote:

>> On Tue, 17 Jul 2007, Eric Anderson wrote:
>> - it then becomes useful for only certain servers
> Why?  Because some servers implement large NFS handles?  I've only ever seen 
> 32bytes, but..
Good point. Although an NFSv3 file handle is variable size up to 64 bytes,
since an NFSv2 file handle is always 32 bytes, I bet most servers generate
<= 32 byte file handles, since they still support v2.

>> - it has to do lots of copying of args, since the size changes
> You mean because you have to map the server's info to your new handle? or am 
> I missing something?
Because it is stored in the RPC request as [length][bytes rounded up to 
next multiple of 4][next arg]. If you grow the file handle, then 
everything after it shifts over. If it is still in an mbuf list, you can
probably finnagle it, but otherwise it's copy all the data.

> Thanks for the info.. (is there a good doc on this, besides and RFC?)
Some Usenix papers, mostly 1985 (the original Sun NFS one) through early
1990s. Mike Eisler wrote a nutshell book, but I'm not sure how much he
talked about the protocol in it.


More information about the freebsd-fs mailing list