Re: why umsdos?

Khimenko Victor (khim@sch57.msk.ru)
Mon, 9 Nov 1998 23:04:21 +0300 (MSK)


9-Nov-98 10:55 you wrote:
> Hi Anthony.

>>>> 2. No speed improvement, most likely there would be a speed
>>>> decrease.

>>>> file system request -> UMSDOS -> FATFS -> drive

>>>> vs.

>>>> file system request -> EXT2 -> loop device driver ->
>>>> FATFS -> drive

>>> Show me the numbers, I'm not convinced.

>> You're adding another layer to the I/O flow and you expect a speed
>> up???

> In my experience, EXT2 + the lop device driver combined ARE faster
> than the current UMSDOS layer, so there would be a definate speed
> increase from making that change...

> My analysis indicates that the really slow section of the UMSDOS
> driver is its filename translation routine, although I'm not sure why.
> That's why I suggested using VFAT as the underlying file system rather
> than MSDOS - it eliminates that routine completely since VFAT can
> already handle long filenames, so doesn't need it.

VFAT DOES NOT ELIMINATE ANY PROBLEMS HERE -- just add few new porblems.
Quite a few perl packages have both Makefile and makefile in the same dir,
I'm seen files with ", ', :, etc in filenames. So for VFAT you still need
filename translation routine and this routine will be even more slow,
complicated and [possible] buggy since VFAT is REALLY brand-dead
filesystem :-(( Just a short example:
-- cut --
[root@localhost vfattest]# touch XXXXXXXXX
[root@localhost vfattest]# touch XXXXXX~1
touch: XXXXXX~1: File exists
[root@localhost vfattest]# rm XXXXXX~1
rm: XXXXXX~1: No such file or directory
[root@localhost vfattest]# rm -rf XXXXXX~1
[root@localhost vfattest]# ls -al < Compare
total 20 < this...
drwxr-xr-x 2 root root 4096 Nov 9 23:07 . <
drwxr-xr-x 49 root root 16384 Nov 9 23:07 .. <
-rwxr-xr-x 1 root root 0 Nov 9 23:07 XXXXXXXXX <
[root@localhost vfattest]# mkdir XXXXXX~1 <
mkdir: cannot make directory XXXXXX~1: File exists <
[root@localhost vfattest]# ls -al <
total 20 <
drwxr-xr-x 2 root root 4096 Nov 9 23:07 . <
drwxr-xr-x 49 root root 16384 Nov 9 23:07 .. <
-rwxr-xr-x 1 root root 0 Nov 9 23:07 XXXXXXXXX <
[root@localhost vfattest]# rm XXXXXXXXX
rm: remove XXXXXXXXX? y
[root@localhost vfattest]# touch XXXXXX~1
[root@localhost vfattest]# touch XXXXXXXXX
[root@localhost vfattest]# rm XXXXXX~1
rm: remove XXXXXX~1? y
[root@localhost vfattest]# ls -al < ...with
total 20 < that!
drwxr-xr-x 2 root root 4096 Nov 9 23:21 . <
drwxr-xr-x 49 root root 16384 Jan 1 1970 .. <
-rwxr-xr-x 1 root root 0 Nov 9 23:19 XXXXXXXXX <
[root@localhost vfattest]# mkdir XXXXXX~1 <
[root@localhost vfattest]# ls -al <
total 24 <
drwxr-xr-x 3 root root 4096 Nov 9 23:21 . <
drwxr-xr-x 49 root root 16384 Jan 1 1970 .. <
-rwxr-xr-x 1 root root 0 Nov 9 23:19 XXXXXXXXX <
drwxr-xr-x 2 root root 4096 Nov 9 23:21 XXXXXX~1 <
[root@localhost vfattest]#
-- cut --

P.S. And no, this is not bug in Linux's VFAT driver. VFAT was designed by M$ to
be brain-dead :-((

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/