On Tue, Sep 14, 2010 at 1:06 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > Christoph already made it clear that it cannot go upstream > like this and Stephen said he consequently didn't want it > in -next either. It may still be material for -mm or -rt, > or just anyone who wants to test a kernel with CONFIG_BKL > disabled. I think something like this would be acceptable with that whole config option removed. That would not help your particular "test without BKL at all" case, but basically I would suggest something like the following: - do the unconditional conversion to the new spinlock, so that fs/locks.c is internally consistent and conceptually works without the BKL at all. - remove all the EXPORT_SYMBOL()s - create wrapper functions named xyzzy_bkl() (perhaps in a different fs/bkl.c file or whatever - or maybe just in the same file that you do the bkl for CONFIG_BKL in the first place) that wrap the fs/locks.c symbols with the kernel lock (so now those wrappers will take _both_ the BKL and the real spinlock) - fix up all modular users mindlessly to call the bkl version, and ship it that way for one release End result: anybody who uses the old exports will just not link at all, and all in-kernel users (ie lockd etc) will now very explicitly have that xyz_bkl() use. After that one release, we can re-introduce the old names without the bkl, and let filesystems and other subsystems just decide that they don't want the bkl version one by one. So that first phase would be basically a no-op with an interface rename just so that the rest could then be done piece-meal. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html