Re: [PATCH] Sanitize filesystem NLS handling

From: Roman Zippel
Date: Thu Mar 22 2007 - 08:59:43 EST


Hi,

On Sun, 18 Mar 2007, Alexander E. Patrakov wrote:

> More details on what the patch does:
>
> * Rewords the description of CONFIG_NLS_DEFAULT, because at some point in the
> past it confused some people
> * Removes CONFIG_FAT_DEFAULT_IOCHARSET, now CONFIG_NLS_DEFAULT is used for
> this purpose. This is because the correct setting of both must match the
> user's locale
> * Merges the two CONFIG_SMB_NLS_REMOTE and CONFIG_FAT_DEFAULT_CODEPAGE options
> into one, named CONFIG_CODEPAGE_DEFAULT. This is because the correct setting
> of both must match the code page used by MS-DOS in the user's country. For the
> same reason, CONFIG_SMB_NLS_DEFAULT is removed (the only sane choice is "y")
> * Makes the FAT filesystem accept both the old-style "codepage=866" mount
> option (which is inconsistent with other filesystems requiring a codepage
> option) and the new-style "codepage=cp866" option. This is necessary because
> CONFIG_CODEPAGE_DEFAULT must work for all filesystems that use it
> * Downgrades the UTF-8 FAT warning to a note, because, while using the utf8
> iocharset produces a case-sensitive FAT filesystem, other iocharsets simply
> produce wrong characters, which is much worse
> * Renames SMB_NLS_MAXNAMELEN to NLS_MAXNAMELEN, because it is also useful
> outside smbfs
> * Makes smbfs always output iocharset and codepage in /proc/mounts, as FAT
> does
> * Makes CONFIG_NLS_DEFAULT and CONFIG_CODEPAGE_DEFAULT adjustable at runtime
> via the following mechanisms:

I agree that these parameters should be changable not just at compile time
and the iocharset should be a global default, but the on disk encoding is
often filesystem specific, so I'd rather keep this option per filesystem.

bye, Roman
-
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/