Bug 144600

Summary: Missing UTF-8 support on vfat devices mounted via HAL/gnome-volume-manager
Product: [Fedora] Fedora Reporter: Dominik Jungo <dominik.jungo>
Component: halAssignee: David Zeuthen <davidz>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3CC: davidz, gajownik, mclasen
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.4.6 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-01-20 18:51:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dominik Jungo 2005-01-09 10:58:29 UTC
Description of problem:
Fedora and newer RedHat Linux use HAL and the gnome-volume-manager
which detects when you connect an USB Drive to your Linux Machine and
then depending on the HAL entries mounts them, or not. Unfortunately
you forgot to add a parameter when mounting vfat drives. This missing
parameter is "iocharset=utf8". Without this missing mount parameter
all german umlauts are sown as questionmarks. If you don't use HAL and
the gnome-volume-manager you can just add  in /etc/fstab to the vfat
entry. If you use HAL, this doesn't work, because HAL writes an entry
for the device you connect and might overwrite your iocharset=utf8
parameter. In this case you have create an own policy: create a file
fatUmlauts.fdi in:

/usr/share/hal/fdi/95userpolicy

which contains:

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">
<!--
mount vfat block devices with mountparameter iocharset=utf8
this should fix problems showing questionmarks instead of german umlauts
-->
<device>
<match key="block.is_volume" bool="true">
<match key="volume.fstype" string="vfat">
<merge key="volume.policy.mount_option.iocharset=utf8"
type="bool">true</merge>
</match>
</match>
</device>
</deviceinfo>

It would be nice, when the next relase would contain this mount option
by default.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. connect a vfat device containing german Umlauts (öäü) in filenames 
2. ls a directory containing these filenames
3. the Umlauts are shows as questionmarks
    

Actual Results:  the device was mounted without the iocharset=utf8
parameter

Expected Results:  hal/fstab-sync should create an entry with
iocharset=utf8 as mount parameter.

Additional info:

Comment 1 David Zeuthen 2005-01-13 17:32:55 UTC
DaveJ, per our discussion on IRC yesterday, any chance we can change
the  kernel such that the default iocharset for vfat is UTF-8? If no,
please reassign back to hal and I'll deal with it from userspace.

Comment 2 Dave Jones 2005-01-13 21:00:08 UTC
I've been thinking about this.
Basically if it sits in hal, or in kernel package, its going to be a patch that
isn't going to go upstream, ever.

However, from a maintainence point of view, the upstream vfat code does change
quite regularly, making it a possibility that the patch would need redoing every
time I rebase.

hal should be less susceptable to such regular changes no?


Comment 3 David Zeuthen 2005-01-13 21:02:27 UTC
Yeah, it should be painless to maintain in hal; I'll take the bug back :-)

Comment 4 David Zeuthen 2005-01-20 18:51:05 UTC
This is fixed in hal-0.4.6 which will be in Rawhide and FC3
updates soon.

Comment 5 Dawid Gajownik 2005-02-21 13:35:24 UTC
I may be wrong, but you should use utf8 option, not iocharset=utf8.
Please refer to
/usr/share/doc/kernel-doc-2.6.10/Documentation/filesystems/vfat.txt