On Fri, Feb 10, 2012 at 11:28:27AM -0800, Linus Torvalds wrote: > On Tue, Feb 7, 2012 at 5:51 PM, Andreas Dilger <adilger@xxxxxxxxx> wrote: > > > > This doesn't affect me directly, since Lustre is itself a GPL filesystem, > > but it does seem a bit harsh for such a minor amount of functionality. > > It also wasn't documented in the commit or apparently even intentional. > > > Looking at inode_dio_wait(), there isn't anything in there that couldn't > > be implemented without using that GPL-only symbol export. ?Both inode_dio_wait() > > and __inode_dio_wait() use only functions that are themselves EXPORT_SYMBOL() > > (i.e. not GPL-only) and locally accessible structures (inode->i_dio_count > > and inode->i_state), so I don't see any benefit or reason in making > > inode_dio_wait() itself GPL. > > Yes. I suspect we should just remove the _GPL part. Christoph, Al? I'm all for it; TBH, I simply missed _GPL on those back then. As far as I'm concerned, there are 3 cases: 1) it's a part of general-purpose API and it does make sense for modules; use EXPORT_SYMBOL 2) it's a kernel-internal thing that is not used by in-tree modules and should not be used by any modules; don't export it at all 3) it's a layering violation that unfortunately still is needed for an in-tree module. The *only* case where I'd consider EXPORT_SYMBOL_GPL borderline useful, as a bad proxy for EXPORT_SYMBOL_DONT_USE_OUT_OF_TREE. It's Christoph's code, though, so I'm not happy with just going ahead and ripping that _GPL off those exports. Christoph? And folks, for the future, do not use ..._GPL on VFS exports unless you have a damn good reason to discourage the use in out-of-tree modules in general. Which needs to be clearly documented. -- 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