Usually one of the first things I do on a fresh Fedora installation is to install gconf-editor, edit my /system/storage/default_options/vfat/mount_options key, and change the "shortname=lower" there to "shortname=mixed", because on my FAT32 volumes I have the occasional folder that must be all uppercase, but which gets turned to all lowercase by default.
This is particularly bothersome when backing up websites, where the website has a directory that's all in caps. When restoring from the backup, the directory ends up all in lowercase, and then 404s happen all over the place.
In Fedora 11, changing this option in the configuration editor doesn't do anything, though. Flash drives and external hard drives still mount with the shortname=lower option. So, I googled it, modified the HAL configuration files in /usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi and created /usr/share/hal/fdi/policy/20thirdparty/95-fat-uppercase.fdi (which I found on a different thread on this forum).
Does anyone else know about this bug? Are there workarounds?
The 95-fat-uppercase.fdi I found on the forum has this content:
Code:
<?xml version="1.0" encoding="utf-8"?>
<deviceinfo version="0.2">
<device>
<match key="block.is_volume" bool="true">
<match key="volume.fsusage" string="filesystem">
<match key="volume.fsversion" string="FAT12">
<merge key="volume.policy.mount_option.iocharset=utf8" type="bool">false</merge>
<merge key="volume.policy.mount_option.shortname=mixed" type="bool">true</merge>
</match>
<match key="volume.fsversion" string="FAT16">
<merge key="volume.policy.mount_option.iocharset=utf8" type="bool">false</merge>
<merge key="volume.policy.mount_option.shortname=mixed" type="bool">true</merge>
</match>
<match key="volume.fsversion" string="FAT32">
<merge key="volume.policy.mount_option.iocharset=utf8" type="bool">false</merge>
<merge key="volume.policy.mount_option.shortname=mixed" type="bool">true</merge>
</match>
</match>
</match>
</device>
</deviceinfo>
Also, output of lshal:
Code:
[kirsle@aerelon 20thirdparty]$ lshal | grep shortname
volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=mixed', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush'} (string list)
volume.policy.mount_option.shortname=mixed = true (bool)
But, even with all these different attempts to make it mount with shortname=mixed, it still doesn't:
Code:
[kirsle@aerelon 20thirdparty]$ mount
/dev/mapper/vg_aerelon-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
/dev/sda3 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /home/kirsle/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=kirsle)
/dev/sdb1 on /media/MIDNIGHT type vfat (rw,nosuid,nodev,uhelper=devkit,uid=500,gid=500,shortname=lower,dmask=0077,utf8=1,flush)