Opened 9 years ago

Closed 4 years ago

#5019 closed defect (fixed)

ext3 not reading unicode directories

Reported by: tim@… Owned by: nico
Priority: response-needed Milestone: Bugs Paradise
Component: kernel Version: Kamikaze trunk
Keywords: ext3 utf-8 Cc:


I've been experiencing problems reading certain directories with unicode names when mounted as ext3 (using kmod-fs-ext3) in Kamikaze 8.0.9, on an NSLU2 device.

root@nas:~# mount -t ext3 /dev/sda1 /music/
root@nas:~# ls /music/ | head
ls: /music/Björk: No such file or directory
ls: /music/Angélique Kidjo: No such file or directory

However, when mounting the same filesystem as ext2, all directories work as normal:

root@nas:~# mount -t ext2 /dev/sda1 /music/
root@nas:~# ls /music/ | grep "Bj" | head
root@nas:~# ls /music/ | grep "Ang" | head
Angélique Kidjo

Some unicode directories work, which others with the same characters do not (for instance, Björk1 worked for me, but Björk did not). I haven't been able to work out why this is so. All file and directory names are valid UTF-8, and it works fine on my Ubuntu Jaunty system.

I haven't tried any versions of the ext3 kernel module other than the one packaged for 8.0.9.

Attachments (0)

Change History (6)

comment:1 Changed 9 years ago by nico

  • Milestone changed from Kamikaze to Kamikaze 8.09.1
  • Owner changed from developers to nico
  • Status changed from new to assigned

comment:2 Changed 9 years ago by nico

  • Milestone changed from Kamikaze 8.09.1 to Kamikaze 8.09.2

comment:3 Changed 8 years ago by spudz76

  • Milestone changed from Kamikaze 8.09 to Kamikaze Bugs Paradise
  • Priority changed from normal to response-needed
  • Version changed from Kamikaze 8.09 to Kamikaze trunk

[patchteam] Bumping to trunk as we missed 8.09.2 release with this. Please test with a recent trunk version as well and report back. Perhaps ext3 needs the NLS modules to handle charsets properly? Setting to response-needed priority.

comment:4 follow-up: Changed 8 years ago by schwicht@…

I see the same on 8.09.2, r18801(NSLU2) running a kernel
I use UTF8 to make sure file names with umlauts etc work. I use a (VERY large, 1.5G) external USB drive that shows the same behavior: mounting the fileystem as ext3 lists the correct name of the File (with Umlauts) but claims file not found. (I think for all the UTF8 file names). Mounting the same USB drive filesystem as ext2 works.
Attaching that USB drive on a different linux (opensuse 11.2 x86_64) shows the ext3 filesytem to be in good health (fschk) and lists the umlauts fine.
I did another test and created a small file-backed drive (using dd) using an EXT3 filesystem that contained [zero length files, that I had created with touch] with umlauts in their filename. I was able to loop mount that image file as ext3 and the file names listed fine. I need to check, if this was because of zero length ... I will try that again later with some file content.
I have been surprised, since I expected the issue to be in the ext3 code. (and maybe it is, and I made an observation error ...)
sorry for being so vague here, but I reflashed in the meantime and need to build the loop kmod again to test again ....
For a long time I expected that the nsl UTF8 kernel module was not there at load time and hence ext3 failing to use it, but I was not able to proof that.


comment:5 in reply to: ↑ 4 Changed 8 years ago by Frank Schwichtenberg <schwicht@…>

Replying to schwicht@…:

need to build the loop kmod again to test again ....

ok, here are the steps

cd /tmp
mkdir x
dd if=/dev/zero of=fbi.img bs=1024k count=2
mke2fs -j fbi.img
mount -o loop fbi.img /tmp/x
cd /tmp/x

cat > Björk

cat > "Angélique Kidjo"
Angélique Kidjo

ls -al
drwxr-xr-x 3 root root 1024 Mar 1 14:32 .
drwxr-xr-x 11 root root 0 Mar 1 14:29 ..
-rw-r--r-- 1 root root 17 Mar 1 14:32 Angélique Kidjo
-rw-r--r-- 1 root root 7 Mar 1 14:32 Björk
drwx------ 2 root root 12288 Mar 1 14:31 lost+found

cat Björk

so it seems that using ext3 on a file backed device using a loop mount works as well.

btw mount shows
/dev/loop0 on /tmp/x type ext3 (rw,errors=continue,data=ordered)

mount |grep sda1
/dev/sda1 on /home type ext3 (rw,errors=continue,data=ordered)
ls -al /home/srv/audio/
ls: /home/srv/audio/Gebrüder Grimm: No such file or directory

root@nslu2-01:/tmp# lsmod
Module Size Used by Not tainted
usb_storage 58759 2
ehci_hcd 29740 0
ohci_hcd 14884 0
nf_nat_tftp 448 0
nf_conntrack_tftp 2408 1 nf_nat_tftp
nf_nat_irc 736 0
nf_conntrack_irc 2548 1 nf_nat_irc
nf_nat_ftp 1216 0
nf_conntrack_ftp 4544 1 nf_nat_ftp
ipt_MASQUERADE 992 1
iptable_nat 2408 1
nf_nat 8886 5 nf_nat_tftp,nf_nat_irc,nf_nat_ftp,ipt_MASQUERADE,iptable_nat
xt_state 800 6
nf_conntrack_ipv4 7308 9 iptable_nat,nf_nat
nf_conntrack 31832 11 nf_nat_tftp,nf_conntrack_tftp,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,ipt_MASQUERADE,iptable_nat,nf_nat,xt_state,nf_conntrack_ipv4
sd_mod 15344 3
ipt_REJECT 1504 2
xt_TCPMSS 1760 1
ipt_LOG 3936 0
xt_multiport 1824 0
xt_mac 672 0
xt_limit 960 1
iptable_mangle 1120 0
iptable_filter 928 1
ip_tables 7024 3 iptable_nat,iptable_mangle,iptable_filter
xt_tcpudp 1760 4
x_tables 6660 11 ipt_MASQUERADE,iptable_nat,xt_state,ipt_REJECT,xt_TCPMSS,ipt_LOG,xt_multiport,xt_mac,xt_limit,ip_tables,xt_tcpudp
ext2 40836 0
ext3 84804 3
jbd 27444 1 ext3
ppp_async 5696 0
ppp_generic 16116 1 ppp_async
slhc 3776 1 ppp_generic
crc_ccitt 960 1 ppp_async
loop 8972 2
nls_utf8 768 0
usbcore 84468 4 usb_storage,ehci_hcd,ohci_hcd
scsi_mod 59712 2 usb_storage,sd_mod
nls_base 4096 1 nls_utf8

comment:6 Changed 4 years ago by tripolar

  • Resolution set to fixed
  • Status changed from accepted to closed

can't reproduce, please try latest trunk.

Add Comment

Modify Ticket

as closed .
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.