Re: RFC: Modified FAT filesystem driver?

Henrik Storner (storner@osiris.ping.dk)
Fri, 22 Nov 1996 06:36:04 +0100


Derrik Pates <dpates@cavern.nmsu.edu> writes:

>One thing I've considered in using the FAT filesystem drivers is, "Why do
>we need to have so many modules for this?" This is an option that may have
>already been looked into, but I figured I'd put it out there and see what
>people thought. What if, instead of having the base FAT module and an
>MSDOS fs module and a VFAT fs module that load on top, have the FAT module
>be extendable? I mean, have the "standard" configuration be to use plain
>jane 8.3 MSDOS filenames, but have an extra config option to enable VFAT
>LFN support, and then when the LFN support is compiled in, have a
>mount-time option whereby LFN support can be disabled for specific mounts.

When I merged the vfat (then xmsdos) driver into the standard kernel, I
looked at how this could be done. The current base FAT is almost the entire
8.3-plain-msdos filesystem driver - the msdos- and vfat modules consist of
only a single file. (There is msdosfs_syms.c, but that is just to
provide the necessary hooks for umsdos).

The reason for keeping the fat, msdos and vfat modules separate were simply
to make the interfaces as clean as possible, and also to use as little
memory as possible - you only compile the features you want, and leave
out those you do not need. Frankly, I though that vfat would eventually
make the msdos fs obsolete, in much the same way that ext2 has practically
eliminated the original ext filesystem.

>That way, for those who don't run Win95 or don't want to use VFAT for
>whatever reason, but want standard FAT FS support, the module/code built
>into the kernel only will do 8.3, but for those who want it, VFAT LFN
>support can be built into the same module/block of kernel code, instead of
>having two FS types.

It could be done, but it wouldn't be very pretty. And you wouldn't save
much memory in doing it - the vfat and msdos implementations are very
different, so you would probably end up having the same amount of code
in the module, just in one module instead of now two.

Also, I strongly dislike that you cannot tell what features a combined "msdos"
filesystem would have - if it is the same filesystem type, you cannot deter-
mine if the compiled module/kernel has LFN support or not.

-- 
Henrik Storner (storner@osiris.ping.dk)