On Fri, Sep 12, 2014 at 08:02:30PM +1000, Dave Chinner wrote:
> > Implementation notes.
> >
> > Strings are normalized using a trie that stores the relevant information.
> > The trie itself is part of the XFS module, and about 250kB in size. The
> > trie is not checked in: instead we add the source files from the Unicode
> > Character Database and a program that creates the header containing the
> > trie.
>
> This is rather unappealing. Distros would have to take this code
> size penalty if they decide one user needs that support. The other
> millions of users pay that cost even if they don't want it. And
> then there's validation - how are we supposed to validate that a
> 250k binary blob is correct and free of issues on every compiler and
> architecture that the kernel is built on?
The way this needs to be done is to have a separate module for the
tables, which XFS or other users then can symbol_get if and only if
a mount requires it. The unicode tables should defintively be outside
of fs/xfs.
And please run this past lkml or -fsdevel, as people who actually
understand unicode and related issues are much more likely to be found
there than on the XFS list.
|