# NFS server does not send SM_NOTIFY



## coopci (Nov 13, 2009)

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.


----------



## SirDice (Nov 13, 2009)

On FreeBSD make sure rpc_lockd and rpc_statd are enabled:

```
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
```

IIRC Solaris uses NFSv4 by default. FreeBSD can be an NFSv4 client but not a server.


----------



## DutchDaemon (Nov 13, 2009)

There's also

```
options 	NFSLOCKD		# Network Lock Manager
```

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


----------



## coopci (Nov 16, 2009)

DutchDaemon said:
			
		

> There's also
> 
> ```
> options 	NFSLOCKD		# Network Lock Manager
> ...



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


----------

