Struggling on NFS problem

Rick Macklem rmacklem at uoguelph.ca
Sun May 9 01:03:07 UTC 2010



On Sun, 9 May 2010, Cheng-Lin Yang wrote:

> Hi Rick and all,
> I've upgrade the NFS server up to RELENG_8_0 with Rick's patches. I still see the negative "BioW Hits" on my FreeBSD NFS clients but the system is not hanged as before. So I would say somehow the upgrade is "partially successful" to solve the issue.
>
The -ve BioW value isn't particularily meaningful. For some reason, it
is bogus, but it is just fyi and has no effect on the client's behaviour.
(Also, note that it is a client side stat, not one for the server, so
it isn't at all relevant to the server.)

> Howerver, new issue bumps up after the upgrade, My mail server which runs Dovecot also mounted on NFS server, shows the following error message after the upgrade
> ====
> May  8 21:46:24 mail dovecot: IMAP(USERID): fcntl(write-lock) locking failed for file cshome/professor/USERID/Maildir/.OLD2/dovecot.index.log: Operation not supported
> May  8 21:46:24 mail dovecot: IMAP(USERID): mail_index_wait_lock_fd() failed with file  cshome/professor/USERID/Maildir/.OLD2/dovecot.index.log: Operation not supported
> May  8 21:46:24 mail dovecot: IMAP(USERID): fcntl(write-lock) locking failed for file  cshome/professor/USERID/Maildir/.OLD2/dovecot.index.log: Operation not supported
> May  8 21:46:24 mail dovecot: IMAP(USERID): mail_index_wait_lock_fd() failed with file /cshome/professor/USERID/Maildir/.OLD2/dovecot.index.log: Operation not supported
> ====
>
> Could you please kindly take a look on this new issue? Thank you. :)
>
If the files used by dovecot are not being concurrently accessed by
other NFS clients, your best bet is to use the "nolockd" option on
the mount command for dovecot. (If doevcot is a Linux client, there
is a similar mount option, which I think is called "nolock" but
can't remember for sure.)

This option tells the client to do file locking locally in the
client and imho is simpler than trying to get the Network Lock
Manager working.

If the files are read/write shared among multiple clients, then
you'll need to try and get the Network Lock Manager (NLM) going.
I don't use it (I've always thought that the protocol was poorly
designed and avoided it) so I don't know much about it, but the
2 rpc servers called rpc.statd and rpc.lockd must be running on
the server and the clients must be able to IP broadcast to the
server.

rick



More information about the freebsd-fs mailing list