[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#43529: debian-policy: mail locking in Debian is _not_ NFS safe



On Thu, 26 Aug 1999, Jason Gunthorpe wrote:

> > The solution for this problem is to use fcntl(), because Linux
> > 2.2.* flushes the cache of a file in the moment when it is locked
> > using fcntl().

> > But only fcntl() locking is not enough, because Linux 2.0.*
> > doesn't support this over NFS and then we have no locking over
> > NFS.

> And linux 2.2.x with a userland server also does not support fcntl
> locking, it generates an annoying kernel message and fails with
> ENOLCK.

Is the userland server still supported on 2.2.*?  I always was told to 
switch to knfs, when the server runs 2.2.*.

But 2.2.* on the client and 2.0.* on the server (with the userland
server) works perfectly well, if the attached patch (by Olaf Kirch) is
applied to the client's kernel (with "nolock" in the mount options).

Ciao

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *
 PGP: 1024/DD08DD6D   2D E7 CC DE D5 8D 78 BE  3C A0 A4 F1 4B 09 CE AF
--- fs/nfs/file.c.org	Tue Jun  1 13:09:01 1999
+++ fs/nfs/file.c	Thu Aug 19 22:35:33 1999
@@ -214,7 +214,7 @@
 
 	/* Fake OK code if mounted without NLM support */
 	if (NFS_SERVER(inode)->flags & NFS_MOUNT_NONLM)
-		return 0;
+		/* return 0; */ goto out_okay;
 
 	/*
 	 * No BSD flocks over NFS allowed.
@@ -241,6 +241,7 @@
 	 * Make sure we re-validate anything we've got cached.
 	 * This makes locking act as a cache coherency point.
 	 */
+out_okay:
 	NFS_CACHEINV(inode);
 	return 0;
 }

Reply to: