NFS Locking violates protocol spec (incompatible with FreeBSD)

From: Kris Kennaway
Date: Thu Nov 06 2003 - 23:11:46 EST


Hello,

In http://lxr.linux.no/source/include/linux/lockd/xdr.h?v=2.6.0-test7
can be found the following comment:

35 /*
36 * NLM cookies. Technically they can be 1K, Nobody uses over 8 bytes
37 * however.
38 */
39
40 struct nlm_cookie
41 {
42 unsigned char data[8];
43 unsigned int len;
44 };

Unfortunately, this is incorrect: FreeBSD 5.x's rpc.lockd uses a 16
byte cookie, and therefore FreeBSD 5.x NFS clients cannot interoperate
with Linux when NFS locking is enabled.

http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/56461

contains more details about this problem, including a workaround for
FreeBSD to limit the cookie size to 8 bytes. Obviously, it would be
better for this bug to be fixed in Linux, since Linux is
non-conformant to the protocol.

Kris


Attachment: pgp00001.pgp
Description: PGP signature