Timo Sirainen tss@iki.fi writes:
How well does NFS fcntl locking work in general? I've only heard of bad things with it, so adding a workaround for a combination which works badly in any case isn't really useful.
fcntl-style file locking has been absolutely reliable for me for almost five years, with a mixed Linux/Solaris LAN.
I find it a bit scary that a Solaris NFS locking problem is reported, Sun are the guys that paved the way for NFS locking, after all, so I'd tend to believe it's a site issue not a general Solaris issue.
Is anyone else seeing fcntl locking problems on Solaris 8 for F_SETLKW ("block until lock obtained")?
If I added a workaround, should it be a compile time workaround enabled with some #define, a config-file configurable workaround or automatic (errno == ENOLCK -> do it)?
If I were Dovecot's maintainer, I'd chose fully automatic fall-back, to avoid bloating the configuration file and documentation with something that the user who wants the beast to "just work" doesn't care about, and I'd also avoid #ifdef - conditional compilation is ugly, more difficult to read and most difficult to test. The "just do it" is the least effort :)
But I'd wait until I knew the reason cannot be fixed within Solaris. After all, the kernel patch level they have is oldish, and so might be the lockd or other NFS related patches, and we don't yet know if there is a special configuration or tuning or kernel limit but might know next week.
-- Matthias Andree
Encrypted mail welcome: my GnuPG key ID is 0x052E7D95 (PGP/MIME preferred)