Re: [PATCH] Remove BKL from fs/locks.c

From: Arnd Bergmann
Date: Thu Sep 16 2010 - 04:29:19 EST


On Wednesday 15 September 2010 22:42:03 J. Bruce Fields wrote:
> Looking over the server code.... The only code I see under the BKL is:
>
> - a few lease callbacks in fs/nfsd/nfs4state.c, none of which
> sleep at this point, so all should be fine under a spinlock or
> whatever we want.
> - fs/nfsd/nfs4state.c:check_for_locks(), which explicitly takes
> the BKL itself. All it does, though, is walk the lock list
> for a given file and check whether any of them have a given
> owner. It would be trivial to put it under some other lock
> and/or move it to locks.c.

Ok. In the version of the patch I sent out yesterday, I came to the
same conclusion and put both of these under lock_flocks(), which
is still the BKL but can be converted to a spinlock after we have
sorted out ceph and lockd. If you and others are fine with this patch,
I'll add it to my bkl/config series.

Note that walking the i_flock list needs to use lock_flocks()
(or the BKL), not a private lock. I guess that's what you are saying
anyway, just making sure.

Arnd
--
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/