NFS Locking Issue

Kostik Belousov kostikbel at gmail.com
Wed Jul 5 13:20:17 UTC 2006


On Wed, Jul 05, 2006 at 02:04:59PM +0100, Robert Watson wrote:
> 
> On Wed, 5 Jul 2006, Kostik Belousov wrote:
> 
> >>Also, the both lockd processes now put identification information in the 
> >>proctitle (srv and kern). SIGUSR1 shall be sent to srv process.
> >
> >Hmm, after looking at the dump there and some code reading, I have noted 
> >the following:
> >
> >1. NLM lock request contains the field caller_name. It is filled by (let 
> >call it) kernel rpc.lockd by the results of hostname(3).
> >
> >2. This caller_name is used by server rpc.lockd to send request for host 
> >monitoring to rpc.statd (see send_granted). Request is made by clnt_call, 
> >that is blocking rpc call.
> >
> >3. rpc.statd does getaddrinfo on caller_name to determine address of the 
> >host to monitor.
> >
> >If the getaddrinfo in step 3 waits for resolver, then your client machine 
> >will get locking process in"lockd" state.
> >
> >Could people experiencing rpc.lockd mistery at least report whether 
> >_server_ machine successfully resolve hostname of clients as reported by 
> >hostname? And, if yes, to what family of IP protocols ?
> 
> It's not impossible.  It would be interesting to see if ps axl reports that 
> rpc.lockd is in the kqread state, which would suggest it was blocked in the 
^^^^^^^^^^^^  rpc.statd :).
> resolver.  We probably ought to review rpc.statd and make sure it's 
> generally sensible.  I've noticed that its notification process on start is 
> a bit poorly structured in terms of how it notifies hosts of its state 
> change -- if one host is down, it may take a very long time to notify other 
> hosts.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060705/3685aac3/attachment.pgp


More information about the freebsd-stable mailing list