Re: [PATCH 1/2] locks: let the caller free file_lock on ->setlease failure

J. Bruce Fields
2010-11-08T16:11:16Z

On Sat, Nov 06, 2010 at 03:03:32PM -0400, Christoph Hellwig wrote:
> On Wed, Nov 03, 2010 at 09:40:24PM -0400, J. Bruce Fields wrote:
> > The irritating thing is that the only lease user I understand is the
> > nfsd code, and it doesn't want this lease-merging behavior; the only
> > reason that fl_change is there is so it can just turn this case into an
> > error every time.
>
> Yes.
>
> > And I have no idea what the requirements are of any other users: do
> > leases behave like this on purpose, or was it just an arbitrary choice,
> > and does anyone depend on it now?
>
> Adding Willy and Stephen to the Cc list as they wrote the code.
>
> > In the end maybe it would be better just to leave leases as they are and
> > define a new lock type for nfsd.
> >
> > We'd probably have to do that eventually anyway, and it'd save me trying
> > to guess what the lease semantics are supposed to be....
>
> I'd rather see both leases and the nfs4 delegations detangled from the
> locks.c code.

What are you thinking of?

> It's far too much of a mess already anyway.
>
> > Subject: [PATCH 1/2] locks: fix leak on merging leases
> >
> > We must also free the passed-in lease in the case it wasn't used because
> > an existing lease was upgrade/downgraded or already existed.
> >
> > Note the nfsd caller doesn't care because it's fl_change callback
> > returns an error in those cases.
>
> The patch looks good to me. Care to feed it to Linus?

Yep, will do.

--b.