FAT/VFAT/FAT32 reimplimintation...

James Mastros (abszero@epix.net)
Sun, 20 Jul 1997 17:35:31 -0400


Hello Kernel-Hacker-Type-People...

I'm planning on redoing fat-based file-systems, mainly as a learning
exercise (eg - I don't want general help, but might ask questions now and
again, and don't expect results anytime soonish). I'm doing this, as well
as for learning value, to fix various lossage... I have some questions:

1) Why don't we use vfat filename storage by default? Older versions of
DOS would just ignore them, and although older disk-checking tools might
mark them as errors, we would optionaly trucate names...
2) I'm not going to support umsdosish stuff. What should the alogrithim
be for the permisions of files? I was thinking of somthing like this:

A) For normal files, the default is the same as the mountpoint, but a-x.
B) There would be an option for making .exe and .com files a+x. It would
default to on, sugested for use with DOSEMU.
C) Directories would be a+x.
D) After I get the basics down, I'll worry about making .lnk files act as
symlinks...

3) I'm planing on, eventually, making .lnk files work as symlinks...

A) Atleast I don't have to worry about permissions... the permissions of
a symlink are never checked, no?
B) You would have to specify the dirve letter (C:, D:, etc.) the disk
expects to be... then if you mount a fat partition with drive=c on /dosc,
a .lnk file to c:\foo\bar would be interprited as being a symlink to
/dosc/foo/bar...
C) Relitive links would be interpritied with \ and / interchanged (to fit
dos tradition in the .lnk, and unix tradition outside it...
D) I don't know if Windows ever creates relitive .lnk files of it's own
volition, I don't know if it will understand them, but I do know that links
that point outside of the drive won't be understood by windows... ahvell.
E) I don't have any idea yet what I shall do for .lnk files that point to
other drive letters...
F) If you use the .lnk->symlink mount option, files with the .lnk
extention will have it striped. If you don't, they won't

4) Filnames will come back the way they are stored on-disk. (I might have
a option to tolower all, but it would default off). If I can figgure out
how to do it, I'll have filename matching be case-isensitive (would
negitive d-entries be created automajicly when I don't want them?)

5) I am in desperate need of a good reference to the fatish (sounds kinda
kinky!) filesystem layout... (the directory entries, esph...) (Free is much
preferable, I'm a starving highschool student... (OK, I'm starving because
I can't concrantrate on eating...

6) Any other concerns/comments/other stuff, send to me or list on your own
good jugment...

-=- James Mastros