Re: Long file names in VFAT broken with iocharset=utf8
From: OGAWA Hirofumi
Date: Mon May 07 2007 - 17:01:26 EST
Roland Kuhn <rkuhn@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:
>> Roland Kuhn <rkuhn@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:
>>> PATH_MAX specifically counts _bytes_ not characters, so UTF-8 does
>>> not matter. ISTR that PATH_MAX was 256 at some point, but I just
>>> quickly grepped /usr/include and found various mention of 4096, so
>>> where's the central repository for this configuration item? A hard-
>>> coded value of 256 somewhere inside the kernel smells like a bug.
>>
>> There is a nasty issue here. FAT is limited by 255 unicode chars or
>> so.
>> So, we would need to count number of unicode chars of filename.
>>
> No, we don't. At least not when looking at the POSIX spec, which
> explicitly mentions _bytes_ and _not_ unicode characters. So, to be
> on the safe side, FAT filesystems would need to support a NAME_MAX of
> roughly 6*255+3=1533 bytes (not to mention the hassles of forbidden
> sequences, etc.; do we need to count zero-width characters?) and
> report it through pathconf() to userspace, then userspace could do
> with that whatever it liked.
>
> What happened to: "file names are just sequences of octets, excluding
> '/' and UL"? Adding unicode parsing to the kernel is completely
> useless _and_ a big trouble maker.
The UCS2 in FAT is just on-disk format of the filename. So...
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
-
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/