Re: nfsd changes for 2.6.37

Christoph Hellwig
2010-10-27T15:31:20Z

On Wed, Oct 27, 2010 at 05:23:59PM +0200, Arnd Bergmann wrote:
> It comes back to the original problem with Bruce's patch though:
> fcntl_setlease wants to atomically add a lease or fail. If
> fasync_helper fails, we want to remove the lease that was
> just added before anyone can see it. At the very least we need
> to keep the flock from getting freed in another thread while
> we call fasync_helper without the lock.

a variant of fasync_add_entry that takes a preallocated
fasync_struct would indeed take care of that.

> locks_delete_lock is also called with lock_flocks held and calls
> fasync_helper...

but with on = 0, which calls into fasync_remove_entry, which doesn't
sleep.