linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PATCH [7/10] lease interfaces for version 4 NFSD
@ 2004-09-20 20:23 William A.(Andy) Adamson
  0 siblings, 0 replies; only message in thread
From: William A.(Andy) Adamson @ 2004-09-20 20:23 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: andros

[-- Attachment #1: Type: text/plain, Size: 121 bytes --]

VFS: use the inode i_writecount to test for handing out a F_RDLCK lease


Signed-off-by: Andy Adamson <andros@umich.edu>

[-- Attachment #2: linux-2.6.9-rc2-07-setlease-fixme.dif --]
[-- Type: text/plain , Size: 600 bytes --]

diff --recursive -puN old/fs/locks.c new/fs/locks.c
--- old/fs/locks.c	2004-09-20 13:56:25.385316000 -0400
+++ new/fs/locks.c	2004-09-20 14:15:31.144266000 -0400
@@ -1275,10 +1275,10 @@ int __setlease(struct file *filp, long a
 	if (!flp || !(*flp) || !(*flp)->fl_lmops || !(*flp)->fl_lmops->fl_break)
 		goto out;
 
-	/*
-	 * FIXME: What about F_RDLCK and files open for writing?
-	 */
 	error = -EAGAIN;
+	if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0))
+		goto out;
+
 	if ((arg == F_WRLCK)
 	    && ((atomic_read(&dentry->d_count) > 1)
 		|| (atomic_read(&inode->i_count) > 1)))

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-20 20:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-20 20:23 PATCH [7/10] lease interfaces for version 4 NFSD William A.(Andy) Adamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).