Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Apr 2008 13:15:04 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        Doug Rabson <dfr@rabson.org>
Cc:        Kirk McKusick <mckusick@mckusick.com>, arch@freebsd.org
Subject:   Re: VOP_LEASE 
Message-ID:  <20080412131017.S43186@desktop>
In-Reply-To: <41ED3941-E5E6-45F0-B880-C1B2861FDE32@rabson.org>
References:  <200804121703.m3CH3StJ081660@chez.mckusick.com> <41ED3941-E5E6-45F0-B880-C1B2861FDE32@rabson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <jroberson@jroberson.net>
>>> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080412131017.S43186>