Search code examples
linuxnetwork-programmingtcpudpnfs

NFS Implementation, ubuntu sending empty nfs_fh3?


Hi i am trying to write my own NFS Server (http://en.wikipedia.org/wiki/Network_File_System) implementation, so on my first test drive i installed ubuntu on a Virtual pc, then i installed the nfs client and tried to mount my NFS Share, with the following command:

sudo mount -o soft,intr,rsize=8192,wsize=8192 192.168.0.250: /nfs

What happens then is, First of NFSPROC3_NULL is called, and after that NFSPROC3_GETATTR is called but with a nfs_fh3 of zero bytes!!!

I find nothing about it in the rfc (http://tools.ietf.org/html/rfc1813#page-31).

So im at a loss here why does it call NFSPROC3_GETATTR with a empty file handler, i never provided it with a file handler of zero bytes...?

My first guess was that the nfs client had cached invalid data, but after restarting and even reinstalling the whole virtual pc, it still behaves the same way, am i missing some thing in the specs or is the nfs client doing some thing invalid?

If i instead try to mount the share with xbmc, i can at least browse my directory structure...


Solution

  • I found the problem, i was not checking the version correctly, the client was calling with the version nfs version 4... and that version of nfs has a different procedure with the same id as NFSPROC3_GETATTR...