NFS server does not send SM_NOTIFY

I was scrutinizing how NSM work with NFS3. I had two machines: A was running FreeBSD7.1 and B was running Solaris10.

Here is my steps:

1. Lock a file in the NFS mounted FS from the client. I can see the NLM traffic in tcpdump. I'm pretty sure the lock indeed worked, because I verified it by locking the file again and failed on the twice lock.

2. Kill all the NFS related processes on the server. I verified this by their absence in ps and rpcinfo

3. Start all the NFS related processes on the server.

On the 3rd step I did not see any NSM traffic in tcpdump. I have tried this bidirectionally, i.e. FreeBSD as server with Solaris as client and FreeBSD as client with Solaris as server

I have two guesses:
1. My experiment was wrong, NSM is not designed to send SM_NOTIFY in the condition I fabricated.

2. NSM is disabled by default and needs to be enabled explicitly which I didn't do.

Of course there can be many other possibilities.
 
On FreeBSD make sure rpc_lockd and rpc_statd are enabled:
Code:
rpc_lockd_enable="YES"
rpc_statd_enable="YES"

IIRC Solaris uses NFSv4 by default. FreeBSD can be an NFSv4 client but not a server.
 
There's also
Code:
options 	NFSLOCKD		# Network Lock Manager

It is present in a GENERIC kernel, but you may not be running one.
 
DutchDaemon said:
There's also
Code:
options 	NFSLOCKD		# Network Lock Manager

It is present in a GENERIC kernel, but you may not be running one.

I was running one, the locks worked. The problem is mainly about statd. BTW, I can see lockd and statd in both rpcinfo and ps
 
Back
Top