From mboxrd@z Thu Jan 1 00:00:00 1970 From: "J. Bruce Fields" Subject: Re: File system awareness (or lack thereof) of vfs granting of leases Date: Sun, 18 Feb 2007 01:39:48 -0500 Message-ID: <20070218063948.GC22022@fieldses.org> References: <45D6937A.10902@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Robert Rappaport , linux-fsdevel@vger.kernel.org To: Wendy Cheng Return-path: Received: from mail.fieldses.org ([66.93.2.214]:41747 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030363AbXBRGjs (ORCPT ); Sun, 18 Feb 2007 01:39:48 -0500 Content-Disposition: inline In-Reply-To: <45D6937A.10902@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sat, Feb 17, 2007 at 12:32:42AM -0500, Wendy Cheng wrote: > Robert Rappaport wrote: > > >[snip] > >.... This is because the vfs running on the same node where the > >samba server is running is not necessarily aware of all accesses to > >the file on which it is granting a lease. Since vfs does not > >currently inform file systems about the granting and rescinding of > >leases, a clustered file system cannot allow a samba server to support > >OpLocks on its files and this has a negative impact on performance. > > > >What I think is needed is to add a file systems defined > >file_operations function, that would be invoked when vfs is > >considering the granting of a lease on a file associated with an > >inode. Such an enhancement would allow a file system to be come aware > >of vfs lease activity and allow it to support this activity. > > > NFS has similar issues because Linux NLM-VFS does not invoke server side > filesystem specific lock method. This implies NFS client applications is > not able to use posix locks to coordinate file access across different > nodes with a cluster filesystem, even the cluster filesystem itself > does support posix locking. We also have the same problem with leases, since we're using leases to implement NFSv4 delegations. There's a simple-minded patch here: http://linux-nfs.org/cgi-bin/gitweb.cgi?p=bfields-2.6.git;a=commitdiff;h=4e8aff5dabe07b2e4e95ef0c741a34f65409087f I'm not really sure if it's right. --b.