Re: [PATCH 4/4] nfsd4: initialize delegation pointer to lease

From: J. Bruce Fields
Date: Sat Oct 30 2010 - 23:05:34 EST


On Sat, Oct 30, 2010 at 10:04:31PM -0400, Christoph Hellwig wrote:
> On Sat, Oct 30, 2010 at 05:31:16PM -0400, J. Bruce Fields wrote:
> > The NFSv4 server was initializing the dp->dl_flock pointer by the
> > somewhat ridiculous method of a locks_copy_lock callback.
> >
> > Now that setlease uses the passed-in lock instead of doing a copy,
> > dl_flock no longer gets set, resulting in the lock leaking on delegation
> > release, and later possible hangs (among other problems).
> >
> > So, initialize dl_flock and get rid of the callback.
>
> >From what I can see this was the only instance of
> lock_manager_operations.fl_copy_lock. Please kill it while you're at
> it.
>
> Also lock_manager_operations.fl_release_private has only exact one
> instance in nfs4d which is part of the same abuse scheme. Please also
> get rid of it. I recently noticed this while updating
> Documentation/filesystems/Locking for the grand new BKL-less world.

Yeah, I wanted to maximize chances of getting the minimal fixes into
-rc1, but I've got patches for that queued up too. I was planning on
waiting for the next merge window, but I'm happy enough to send them in
now.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/