After working with CFS (Matt Blaze's Cryptographic File System) for the last
few days on a Sparc-20MP and Solaris 2.4, I've noted some problems with lockd.
As can be seen below, MH's file locking is causing lockd some heartburn with
my CFS protected Mail directory.
Background: /usr/local/libexec/cfsd is started at boot time.
The /crypt filesystem is mounted with port=3049, the one serviced by cfsd.
1# mount -o noquota,port=3049,intr,bg localhost:/null /crypt
2# mount | grep crypt
/crypt on localhost:/null noquota/port=3049/intr/bg/remote on Fri Nov 3 10:05:17 1995
Using the MH repl command eventually invokes the send command. After the
message is delivered to sendmail, send attempts to annotate the original
message as to who was replied to. It first opens then attempts to lockf()
the message file:
Nov 3 22:06:57 zelkova lockd: create_client: no inet address for host localhost
Nov 3 22:13:37 zelkova last message repeated 25 times
Nov 3 22:13:52 zelkova lockd: create_client: no inet address for host localhost
I was then pointed to patch 101977-04 which replaced the problem with a new
one. Now after the send command is invoked, the following error occurs
Nov 8 06:40:41 zelkova unix: WARNING: nfs_fhfid: corrupt filehandle
It repeats 10 times, then lockf() gives up. I suppose this is an improvement.
Ideally I'd like to have locking work on directories exported and mounted
on the same machine. The loopback filesystem (lofs(7)) looks like it might
be useful here, but I can't see how to use it in this case.
"A well-schooled electorate, being necessary to the security of a free State,
the right of the People to keep and read Books shall not be infringed."
-- J. Neil Schulman