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

Christoph Hellwig
2010-11-06T19:03:42Z

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. 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?