Bug 467629
| Summary: | NTFS volume skips file names with non-ASCII characters with NTFS-3G | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Juhani Jaakola <juhani.jaakola> |
| Component: | ntfs-3g | Assignee: | Tom "spot" Callaway <tcallawa> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 9 | CC: | tcallawa |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2008-10-21 19:51:00 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
Juhani Jaakola
2008-10-19 16:56:33 UTC
ntfs-3g-1.5012-2.fc8 has been submitted as an update for Fedora 8. http://admin.fedoraproject.org/updates/ntfs-3g-1.5012-2.fc8 ntfs-3g-1.5012-2.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/ntfs-3g-1.5012-2.fc9 Juhani, Please try this update and see if it resolves your issue, I tested it in rawhide and it works fine now. If it does, please leave a "works for me" comment at the update page. Thanks for quick action - but unfortunately it does not help. I installed the package (with rpm -Uvh ~jj/Download/ntfs-3g-1.5012-2.fc9.i386.rpm) and mounted the USB disk again (without reboot). The files with umlauts are still skipped. Now /var/log/messages show: ntfs-3g[15786]: Version 1.5012 integrated FUSE 27 ntfs-3g[15786]: Mounted /dev/sdd1 (Read-Write, label "1TB080928", NTFS 3.1) ntfs-3g[15786]: Cmdline options: rw,nosuid,nodev,uhelper=hal ntfs-3g[15786]: Mount options: rw,nosuid,nodev,uhelper=hal,silent,allow_other,nonempty,relatime,fsname=/dev/sdd1,blkdev,blksize=4096 hald: mounted /dev/sdd1 on behalf of uid 500 ntfs-3g[15786]: Skipping unrepresentable filename (inode 94): Invalid or incomplete multibyte or wide character As you can see, the "locale" argument is missing from "Cmdline options". Could UTF-8 be the default for ntfs-3g mounts? Or must we modify hal (or something else) to get the locale argument added? Okay, so now we're in the situation where I can't reproduce your fault. I created a new NTFS filesystem on a USB key, then mounted it and ran: touch κόσμε kosme touch tämän taman I ran sync a few times to be sure it wrote to the disk, then pulled the key out, waited for a clean umount, then reinserted it: Oct 21 12:49:22 localhost ntfs-3g[9812]: Version 1.5012 integrated FUSE 27 Oct 21 12:49:22 localhost ntfs-3g[9812]: Mounted /dev/sdb1 (Read-Write, label "", NTFS 3.1) Oct 21 12:49:22 localhost ntfs-3g[9812]: Cmdline options: rw,nosuid,nodev,uhelper=hal,locale=en_US.utf8 Oct 21 12:49:22 localhost ntfs-3g[9812]: Mount options: rw,nosuid,nodev,uhelper=hal,silent,allow_other,nonempty,relatime,fsname=/dev/sdb1,blkdev,blksize=4096 Oct 21 12:49:22 localhost hald: mounted /dev/sdb1 on behalf of uid 500 [spot@localhost ~]$ ls -l /media/disk/ total 0 -rwxrwxrwx 1 root root 0 2008-10-20 12:59 kosme -rwxrwxrwx 1 root root 0 2008-10-21 12:48 taman -rwxrwxrwx 1 root root 0 2008-10-21 12:48 tämän -rwxrwxrwx 1 root root 0 2008-10-20 12:59 κόσμε This is on rawhide x86_64, and it didn't work before I added a hal fdi file to ntfs-3g. [spot@localhost ~]$ rpm -q hal ntfs-3g hal-0.5.12-3.20081013git.fc10.x86_64 ntfs-3g-1.5012-2.fc10.x86_64 So, the question is now, what's different about Fedora 9? Well, obviously hal is not as updated, so it could be a bug in hal. Let me try to dig into that. So you have "locale=en_US.utf8" in "Cmdline options" but I don't... I don't know details of hal, so I have to ask dumb questions :-) Does the fdi file merely tell that locale is an allowed parameter or does it cause the locale to be read from somewhere during a mount? From where does hal read the locale? In page http://www.ntfs-3g.org/support.html#locale they claim that reason for troubles can be "The OS configures the setting in a too late stage during the boot process, only after the NTFS volume was already mounted." - or only after the hal daemon was started. According to that page, another reason might be that the locale is not configured properly so that it is not in the environment that hal runs in. How can I check that my locale is configured properly? I have an upgraded system, not a fresh install... I'm not a hal expert either. :) The fdi file tells it that locale is an allowed parameter, I'm not sure how it populates that field, but if I had to guess, I'd say it looks at $LANG, which is set in /etc/sysconfig/i18n. What output do you get from simply running "locale" ? Also, I booted a Fedora 9 LiveCD, then stuck my USB key into that system, and it mounted fine, even without the new .fdi file. Oct 21 14:15:57 localhost ntfs-3g[3489]: Version 1.2506 integrated FUSE 27 Oct 21 14:15:57 localhost ntfs-3g[3489]: Mounted /dev/sdd1 (Read-Write, label "", NTFS 3.1) Oct 21 14:15:57 localhost ntfs-3g[3489]: Cmdline options: rw,nosuid,nodev,uhelper=hal,locale=en_US.utf8 Oct 21 14:15:57 localhost ntfs-3g[3489]: Mount options: rw,nosuid,nodev,uhelper=hal,silent,allow_other,nonempty,relatime,fsname=/dev/sdd1,blkdev,blksize=4096 Oct 21 14:15:57 localhost hald: mounted /dev/sdd1 on behalf of uid 500 Oct 21 14:15:57 localhost gnome-keyring-daemon[3276]: adding removable location: volume_uuid_14FB38BB5BEC10EB at /media/disk hal-0.5.11-0.7.rc2.fc9.x86_64 ntfs-3g-1.2506-1.fc9.x86_64 Here is my locale: $ locale LANG=en_US.utf8 LC_CTYPE="en_US.utf8" LC_NUMERIC="en_US.utf8" LC_TIME="en_US.utf8" LC_COLLATE="en_US.utf8" LC_MONETARY="en_US.utf8" LC_MESSAGES="en_US.utf8" LC_PAPER="en_US.utf8" LC_NAME="en_US.utf8" LC_ADDRESS="en_US.utf8" LC_TELEPHONE="en_US.utf8" LC_MEASUREMENT="en_US.utf8" LC_IDENTIFICATION="en_US.utf8" LC_ALL= But I added "locale=en_US.utf8" as value of key /system/storage/default_options/ntfs-3g/mount_options in gconf-editor (I use Gnome) and after that I can see "locale=en_US.utf8" in "Cmdline options" in /var/log/messages! Now I can see files with umlauts in their names! So this is a workaround for this problem! If the LiveCD works the problem must be my setup. It can't be the gconf-editor trick. Perhaps the upgrade caused this. I can live with the above workaround, but of course I'd like to know what's wrong with my locale settings... I guess the locale is not set when hald starts. That key is set to "locale=" on my rawhide system. I wish I knew what was wrong with your locale settings, but I honestly don't know. It gets set very early on. Closing out this one as RAWHIDE. ntfs-3g-1.5012-3.fc8 has been submitted as an update for Fedora 8. http://admin.fedoraproject.org/updates/ntfs-3g-1.5012-3.fc8 ntfs-3g-1.5012-3.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/ntfs-3g-1.5012-3.fc9 ntfs-3g-1.5012-3.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report. ntfs-3g-1.5012-3.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report. |