This applies to both 2.2.x and 2.3.x/2.4.0-test kernels and to umsdos_progs, and
contains simple TODO list and probable order of things to fix. If you think
you have argument why something is having wrong priority, or if something is
not there at all, please contact me.
- 2.4.0-test8 (at least from test6 upward) have a symlink problem -- when
symlink is created, they loose last char of symlink name (eg. 'ln -s foo
bar' will create symlink to 'foo' named 'ba', and not 'bar' !)
- hardlink across directories and related problems - this should be fixed
in 2.2.16h diff. Still in queue for 2.4.0-test kernels...
- 2.3.99-pre5 -- it seems that changes in VFS broke pseudo-root feature
before 2.4 (hint by A.Viro). Will need to rewrite that part - but there
seem to be some other problems involved too.
- umssync errors when dir/file size approaches UMSDOS_MAXNAME (220 at the
moment) and junk at end of each path component. Also problems when PATH_MAX
is approached (4095 at the moment). [note for myself: see depth.sh.
Also - see what statfs(2) is returning and just put that limit to
- problems trying to create --linux-.--- file or dir. Should return
-EACCESS or something probably.
- if file is opened in subdirectory, we can unlink(2) it OK, but after
all file in that directory are unlinked, we cannot rmdir(2) the directory
itself -- until that file is closed. Shows up as problem for example when
compiling kernel on UMSDOS filesystem (it opens dependency file, which 'make
mrproper' rm -rf's) [update: according to Al Viro @LKML, that is known bug,
which also exists in minixfs for example, and will be fixed in 2.3.x --
2.2.x is out of luck, sorry]
- when rmdir(2)-ing directories under UMSDOS, sometimes underlying FAT is
damaged so there are lost clusters left (seems harmless, but nonetheless
should never happen! -- lost cluster looks like directory entry, with EMD
file correctly deleted beforehand. hmmmm.) if someone can reproduce this
at will please contact me!
- undefined problems when running UMSDOS over vfat (corrupted long names,
files represented as directories and vice versa in UMSDOS etc) - [Note for
myself: see kernel/umssync mangle.c diff?]
- sometimes we got 'OOPS releasing pseudo-root' message when doing 'ls /DOS'
on pseudo-root UMSDOS filesystem. It appears to be harmless, though.
- keeping 2.2.x and 2.3.x in sync...
Maybe in the far, far, future
Minor annoyances and things to consider - I don't have an idea what to do
with those or don't consider them important. If you think they should be
fixed or have any idea about them - drop me a note. Otherwise, they'll
probably remain untouched forever... (or until I am bored; but it is
probably around same time anyway...)
- MS-DOS allows only for directory depth of 10, while UMSDOS can go for
more. It would create problems when trying to copy/access UMSDOS directories
from MS-DOS (and errors on chkdsk/scandisk etc.).
- when unlinking hardlinks, last one remaining (ncount==1) is not denoted
back to normal file syntax (mostly cosmetic problem, but that file has all
problems of hardlinks, like moving directory under original hardlink, etc)
- umsdos_tools, improve the test program to mount the floppy to a
different mount point, change to newer mtools, etc.
- UMSDOS EMD file format (--linux-.--- file) is NOT same among
architectures. Uargh. Still thinking about best way to do it -- it will
require breaking compatibility somewhere anyway. Maybe wait for 64bit
UID/GID in IA32 kernel to do it and break it all only once?
- recreate "UVFAT" -- eg. enable UMSDOS to maintaing long file names not
only in EMD, but also in VFAT directory (so long names will also be visible
from windows, for example). I expect problems with file mangling, though, so
if it's too troublesome I might never get to it...