Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Feb 1998 15:39:54 +0300
From:      Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
To:        Андрей Чернов <ache@nagual.pp.ru>
Cc:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG, dima@dnttm.ru
Subject:   Re: cvs commit: src/sys/msdosfs direntry.h msdosfs_conv.c msdosfs_lookup.c msdosfs_vfsops.c msdosfs_vnops.c msdosfsmount.h 
Message-ID:  <199802241239.PAA07321@yandex.hq.cti.ru>
In-Reply-To: Your message of "Tue, 24 Feb 1998 14:01:43 %2B0300." <19980224140143.53881@nagual.pp.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Tue, Feb 24, 1998 at 01:37:41PM +0300, Dmitrij Tejblum wrote:
> > "Andrey A. Chernov" wrote:
> > >   Always create DOS name in uppercase
> > >   Always view DOS name in lowercase
> > 
> > This imply that noone can see names like README.TXT on msdos filesystem. When 
> > someone creates a file with such name, it becomes 'readme.txt'. But if someone 
> > creates file 'README.TEXT', the name will remain same. This is odd, i believe.
> 
> The reason is simple: non-uppercase names not understanded by majority of
> programs and filesystem checks under DOS. Making non-uppercase name in DOS
> breaks DOS! 

Of course. I never suggested ro write DOS names in lowecase. I complain about 
"view DOS name in lowercase" part, probably.

> > A workaround could be to always write long file name. I.e. never return 1 in 
> > unix2dosfn. It is still not compatible with Windows 95, of course, but Windows 
> > 95 is not fully compatible with itself in this issue.
> 
> This workaround is already active since long file name preserving case
> _always_ written if you have Win95 file system. 

Since when? Have you tried to 'touch README.TXT' on msdosfs and look at 
the result? If unix2dosfn return 1, the long file name does not written 
to disk. See the comment above unix2dosfn. unix2dosfn think that in 
case of README.TXT short the file name and the long file name are same, 
and, therefore, long file name is not neccessary. You "broke" it, since 
you represent short filenames in lowercase (under FreeBSD, of course).

> I.e. two names written at once:
> 1) DOS uppercased name.
> 2) Win95 name preserving case (if you not turn off Win95 support)
> 
> In msdosfs you'll see Win95 name first, if it present.

This is what I propose.

Dima





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802241239.PAA07321>