Subject: kern/14942: msdos file system: file names longer than 8 chars ending in .
To: None <gnats-bugs@gnats.netbsd.org>
From: Dieter Baron <dillo@danbala.tuwien.ac.at>
List: netbsd-bugs
Date: 12/14/2001 02:15:02
>Number:         14942
>Category:       kern
>Synopsis:       msdos file system: file names longer than 8 chars ending in .
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 13 17:16:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Dieter Baron
>Release:        2001/12/05
>Organization:
	
>Environment:
	
System: NetBSD legba 1.5.2 NetBSD 1.5.2 (LEGBA) #0: Tue Nov 6 22:22:02 MET 2001 root@wintermute:/usr/src/sys/arch/i386/compile/LEGBA i386


>Description:
The file name mangling for msdos file systems fails when a file
name is longer than 8 characters and ends in `.' (e. g. 012345678.).
A file with the name without the trailing dot is created (012345678),
but is not found when the same name (with dot, 012345678.) is used
to access the file.  If it is created a second time, a second file
of the same name (012345678) is created.

If the file name is 8 characters or shorter (0.), the dot is stripped
upon creation (0), and the created file is found under both names
(0, 0.).
>How-To-Repeat:
mount a dos partition and cd into it.

$ echo foo > 012345678.
$ ls
012345678
$ cat 012345678.
cat: 012345678.: No such file or directory
$ cat 012345678
foo
$ echo bar > 012345678.
$ ls
012345678 012345678
$ cat 012345678
foo
$ cat 012345678*
foo
foo

>Fix:
none known.
>Release-Note:
>Audit-Trail:
>Unformatted: