>>>>> "m" == msl <opensolaris@xxx> writes: m> many users comparing oranges with apples. Locking is sometimes important, too, by which I mean lockf/fcntl/flock advisory locks. For example, FreeBSD implements NFS locking, but NetBSD doesn't. This causes problems if you try to netboot FreeBSD from NetBSD. The quality of locking implementations has in the past varied, too, even among the old proprietary Unixes (Irix, HPUX, AIX, OSF/1, Solaris). I bet there are others, but the difference I know about is what happens when clients suddenly disappear forever while holding a lock. (Locking was tricky for some implementors becuase it isn't session-stateless like the rest of NFSv2. The locks a client holds need to be released when the client reboots, and renewed when the server reboots.) AIX would wait forever for a permanently destroyed client, while I think FreeBSD claims to wait for 24 hours. Another locking oddity I'm struggling with right now: mounting a Linux client's root filesystem with advisory locking switched on seems hard. Linux NFS-boots using its ``early userspace'' feature, using a complicated initramfs like this one for Gentoo: http://web.Ivy.NET/~carton/rant/gentoox/genkernel-3.3.10-carton.tar.gz so the ordinary userland tools like 'mount' are responsible for mounting '/' over NFS. In Solaris, BSD, and very old Linuxes there's instead a stripped-down version of 'mount' linked into the kernel. The problem is Linux's 'mount' tries to contact 'rpcbind' and a bunch of locking daemons that aren't running before the root filesystem is mounted, so '/' has to be mounted with 'mount -o nolock'. I'm not sure how Solaris handles locking-statefulness on NFS '/', but Solaris also has some special behavior with root filesystems---it seems to only mount them with NFSv3, but will still mount '/usr' with NFSv4. see: http://web.Ivy.NET/~carton/oneNightOfWork/20061203-carton.html
Attachment:
pgpikazr7FyAT.pgp
Description: PGP signature