Bug #2027
closedFilenames on msdos fs get an extra char
0%
Description
Hi,
Funny problem here. In /mnt I have an usb memory stick with msdos fs
(fat32) on mounted. Box is latest master.
- touch a
- ls a*
aa - mv aa b
- ls b*
ls: No match. - ls b
b - ls
bb - rm bb
rm: bb: No such file or directory
If I remount I can remove bb. With only digits in the filename it works:
- touch 1
- ls 1*
1 - mv 1 2
- ls 2*
2
Anyone else seeing this? Kind of annoying when you use msdos fs to move
files to OSes/programs that use the filename extension to recognize file
types.
//Max
Updated by polachok over 13 years ago
Oh, man, that sucks.
Are you using some encoding conversion scheme (-L flag for mount_msdos)?
I just tried to reproduce it and didn't succeed.
Updated by herrgard over 13 years ago
No, I don't. Just a plain 'mount_msdos /dev/da8 /mnt' to mount it. I had
LC_CTYPE set to sv_SE.UTF-8, but unsetting it didn't change anything.
I think of the two usb sticks I tried with one are formatted on Mac OS and the
other one on some Windows. I'll play some with this.
Updated by herrgard over 13 years ago
Mkay. It makes no difference whether the stick was formatted on dragonfly, mac
os or windows.
Updated by polachok over 13 years ago
Is your installation 64bit? (I got 32-bit only here).
Can you put a minimal fs image indicating the problem somewhere?
I guess this is my bug, so I have to fix it.
Updated by herrgard over 13 years ago
Yes, I'm on 64bit.
Here is the image: http://leaf.dragonflybsd.org/~mh/msdos.img.bz2
- vnconfig -c vn0 msdos.img
- mount_msdos /dev/vn0 /mnt
Updated by polachok over 13 years ago
Can you test this, please:
http://leaf.dragonflybsd.org/~polachok/0001-msdosfs-use-size_t-for-unlen-consistently-instead-of.patch
Updated by herrgard over 13 years ago
Fixed with commit 6c9ffabc272e311f51efadc07996c43c5c30f568