Re: CONFIG_VFAT_FS_DUALNAMES regression

From: tridge
Date: Thu Jul 02 2009 - 20:25:36 EST


Hi Jan,

> Then, I just tried everything to get an overview:

thanks!

> (All with DUALNAMES=n)
> # mount /dev/sdc1 /mnt -o iocharset=utf8,shortnames=lower
> # cp /mnt/dcim/100_fuji/dscf{4160,3004}.jpg
> # umount /mnt
> # mount /dev/sdc1 /mnt -o iocharset=utf8,shortnames=win95
> # cp /mnt/dcim/100_fuji/dscf{4160,3005}.jpg
> # umount /mnt
> # mount /dev/sdc1 /mnt -o iocharset=utf8,shortnames=winnt
> # cp /mnt/dcim/100_fuji/dscf{4160,3006}.jpg
> # umount /mnt
> # mount /dev/sdc1 /mnt -o iocharset=utf8,shortnames=mixed
> # cp /mnt/dcim/100_fuji/dscf{4160,3007}.jpg
> # umount /mnt
>
> Result? The camera only displays 3006.
>
> The dualnames patch's filling filenames with random illegal
> chars does seems to have a really foul side-effect after

actually, you've just proved the patch works as intended on your
device!

Only the shortname=winnt would create a 8.3 name when you use the
filename dscfNNNN.jpg. That is why my first patch in May forced

shortname_flags = VFAT_SFN_CREATE_WINNT;

when the patch triggered. I think this is the only sane behaviour for
a VFAT filesystem on Linux. Unfortunately it isn't the default, and at
least on my Ubuntu system the automatic mounting doesn't get this
right.

I'd love to change the default or do an override, at least when
dualnames is diabled. Hirofumi-san, what do you think?

Cheers, Tridge

PS: I'm assuming you actually typed "shortname=" not
"shortnames=". The option is not plural.
--
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/