Bug 489222
Summary: | unable to see/create non-ASCII utf-8 filenames in vfat USB stricks | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Muayyad Alsadi <alsadi> | ||||
Component: | DeviceKit-disks | Assignee: | David Zeuthen <davidz> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | rawhide | CC: | davidz, hedayatv, i18n-bugs, kdekorte, mclasen, petersen, richard, sangu.fedora, wwoods, yaneti | ||||
Target Milestone: | --- | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | 470592 | Environment: | |||||
Last Closed: | 2009-04-08 21:54:46 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 446452 | ||||||
Attachments: |
|
Description
Muayyad Alsadi
2009-03-08 19:23:39 UTC
Created attachment 334479 [details]
patch to that effect
This should be a F11 blocker.
This has been fixed upstream, we'll get it with the next update. good news we need similar one for hal, I guess it would be just an fdi policy file Should be fixed in DeviceKit-disks-004 in rawhide. I tried this and it doesn't work for me. The upstream fix adds "iocharset=utf8,codepage=437" which behaves differently than just "utf8". Don't know why but it does. Just adding "utf8" to "iocharset=utf8,codepage=437" also doesn't work. So if I patch out the newly added ones and add only "utf8" then everyting works as before. The option that was on by default in the kernel of previous Fedoras was specifically "utf8", where did the "iocharset=utf8,codepage=437" idea even come from ? DeviceKit-003 breaks loading of my ipod with libgpod. Prior to this fix going in, everything worked correctly. libgpod reports the filename as file:///media/IPODVIDEO2/iPod_Control/Music/F29/QCAR.mp3 but when I try and load it from the ipod the filesystem name is /media/IPODVIDEO2/iPod_Control/Music/f29/qcar.mp3 Rawhide mount reports /dev/sdb1 on /media/IPODVIDEO2 type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) F10 mount reports /dev/sdb1 on /media/IPODVIDEO2 type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) The device works properly on F10, but is broken in rawhide (In reply to comment #7) > libgpod reports the filename as > file:///media/IPODVIDEO2/iPod_Control/Music/F29/QCAR.mp3 > > but when I try and load it from the ipod the filesystem name is > > /media/IPODVIDEO2/iPod_Control/Music/f29/qcar.mp3 > > Rawhide mount reports > /dev/sdb1 on /media/IPODVIDEO2 type vfat > (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) > > F10 mount reports > /dev/sdb1 on /media/IPODVIDEO2 type vfat > (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) > > The device works properly on F10, but is broken in rawhide Please paste the appropriate lines from from /proc/self/mountinfo since mount(8) just prints out /etc/mtab (which doesn't show all the options used). FWIW, it's not unlikely we want to change the default of "iocharset=utf8,codepage=437" for vfat to something else (to match F10 behavior and not break things like libgpod). However before that we need to know exactly what that "something else" should be. I remounted the ipod without the iocharset,codepage options and it returned to working like before. The issue is that fopen should work on FAT/VFAT no matter the case of the filename, as long as the actual name is right, so using the utf8 option is probably incorrect for vfat formatted devices, since vfat should not be case sensitive. If there is a way to make utf8 and case insensitivity work, I'm all for it. The kernel docs specifically say: NOTE: "iocharset=utf8" is not recommended. If unsure, you should consider the following option [utf8] instead. (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/vfat.txt;hb=HEAD#l55) I think the correct behavior here is to leave off iocharset & codepage and either: a) Just use 'utf8' by default everywhere (matches old behavior), or b) have something in the desktop environment (gnome-mount?) choose either 'utf8' or an appropriate iocharset/codepage, depending on the user's locale. ..but I don't know what component should make that choice. Probably easiest just to use 'utf8' everywhere by default, and document how you can override that, for the benefit those few people still using non-UTF8 data (e.g. bug 454013 and the 7 locales mentioned previously). (In reply to comment #7) > libgpod reports the filename as > file:///media/IPODVIDEO2/iPod_Control/Music/F29/QCAR.mp3 > > but when I try and load it from the ipod the filesystem name is > > /media/IPODVIDEO2/iPod_Control/Music/f29/qcar.mp3 > > Rawhide mount reports > /dev/sdb1 on /media/IPODVIDEO2 type vfat > (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) > > F10 mount reports > /dev/sdb1 on /media/IPODVIDEO2 type vfat > (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=500) > > The device works properly on F10, but is broken in rawhide I pasted the incorrect rawhide mount information, it should have been /dev/sdb1 on /media/IPODVIDEO2 type vfat (rw,nosuid,nodev,uhelper=devkit,uid=500,gid=500,shortname=lower,dmask=0077,iocharset=utf8,codepage=437) As you can see it includes the iochars and codepage options that F10 does not as for Comment #10 yes that is solved by passing utf8 not iocharset=utf8 passing iocharset=utf8 is not recommended please try passing utf8 not iocharset=utf8 and it's the default since F7, if you have problem with it it would appear before this It seems that the proposal is that we should use utf8=true,shortname=lower to match F10 and earlier releases. I'd appreciate if someone can check if that makes libgpod work. Thanks. Yes, that appears to work for me... /dev/sdb1 on /media type vfat (rw,nosuid,nodev,uid=500,gid=500,shortname=lower,dmask=0077,utf8=true) Reopening until we're sure this is set straight. Or at least firmly crooked. For the record, 'shortname=lower' is the documented default, and 'utf8' is the documented version of the mount option, so an equivalent option string would be: 'rw,nosuid,nodev,uid=500,gid=500,dmask=0077,utf8' Any ETA for a new DeviceKit-disks rpm in rawhide? DeviceKit-disks-004-0.5.20090408git.fc11 will use utf8=1,shortname=lower by default. http://koji.fedoraproject.org/koji/taskinfo?taskID=1286129 Running with DeviceKit-disks-004-0.6.20090408git.fc11.x86_64 from koji and my ipod with libgpod seems to be working correctly again. |