From owner-freebsd-arch@FreeBSD.ORG Sat Apr 12 23:13:45 2008 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C332D106566B for ; Sat, 12 Apr 2008 23:13:45 +0000 (UTC) (envelope-from jroberson@jroberson.net) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.182]) by mx1.freebsd.org (Postfix) with ESMTP id 9359C8FC16 for ; Sat, 12 Apr 2008 23:13:45 +0000 (UTC) (envelope-from jroberson@jroberson.net) Received: by wa-out-1112.google.com with SMTP id k17so1154415waf.3 for ; Sat, 12 Apr 2008 16:13:45 -0700 (PDT) Received: by 10.114.192.1 with SMTP id p1mr5176228waf.47.1208042025033; Sat, 12 Apr 2008 16:13:45 -0700 (PDT) Received: from ?10.0.1.199? ( [24.94.72.120]) by mx.google.com with ESMTPS id n33sm7925132wag.47.2008.04.12.16.13.43 (version=SSLv3 cipher=OTHER); Sat, 12 Apr 2008 16:13:44 -0700 (PDT) Date: Sat, 12 Apr 2008 13:15:04 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: Doug Rabson In-Reply-To: <41ED3941-E5E6-45F0-B880-C1B2861FDE32@rabson.org> Message-ID: <20080412131017.S43186@desktop> References: <200804121703.m3CH3StJ081660@chez.mckusick.com> <41ED3941-E5E6-45F0-B880-C1B2861FDE32@rabson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Kirk McKusick , arch@freebsd.org Subject: Re: VOP_LEASE X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Apr 2008 23:13:45 -0000 On Sat, 12 Apr 2008, Doug Rabson wrote: > > On 12 Apr 2008, at 18:03, Kirk McKusick wrote: > >>> Date: Sat, 12 Apr 2008 02:13:15 -1000 (HST) >>> From: Jeff Roberson >>> To: arch@freebsd.org >>> Subject: VOP_LEASE >>> >>> As far as I can tell this has never been used. Unless someone can show me >>> otherwise I'm going to go ahead and remove it. >>> >>> Thanks, >>> Jeff >> >> VOP_LEASE is used by NQNFS and NFSv4. It notifies them when a file >> is modified locally so that they know to update any outstanding >> leases (e.g., evict any write lease for the file and do callbacks >> for any read leases for the file). Deleting VOP_LEASE would break >> NFS big time. > > I think our NQNFS support might have been removed some time ago - I can't see > any calls to VOP_LEASE in the code right now. Something like VOP_LEASE would > certainly be useful for a hypothetical future NFSv4 server. I believe that > samba could use it too for its oplocks feature which appears to be similar to > NQNFS's leases and NFSv4's delegations. So the idea with delegations is that close() doesn't actually release the file entirely to make future access cheaper? My issue with VOP_LEASE is only that there are no in kernel implementations of the VOP. I doubt it is applied regularly in syscalls. It also seems odd that it is called without a lock. Is the intent that the server will trap all accesses to a local vnode in order to invalidate the client leases? Thanks, Jeff