patch-2.1.90 linux/fs/umsdos/README-WIP.txt
Next file: linux/fs/umsdos/dir.c
Previous file: linux/fs/super.c
Back to the patch index
Back to the overall index
- Lines: 118
- Date:
Tue Mar 17 21:32:17 1998
- Orig file:
v2.1.89/linux/fs/umsdos/README-WIP.txt
- Orig date:
Mon Feb 23 18:12:11 1998
diff -u --recursive --new-file v2.1.89/linux/fs/umsdos/README-WIP.txt linux/fs/umsdos/README-WIP.txt
@@ -32,34 +32,42 @@
- long file names - works
- read file - works
- switching MSDOS/UMSDOS - works?
-- switching UMSDOS/MSDOS - untested
-- pseudo root things - commented out mostly currently. To be fixed when
+- switching UMSDOS/MSDOS - UNTESTED
+- pseudo root things - COMMENTED OUT mostly currently. To be fixed when
dentries stuff is straightened out.
- resolve symlink - seems to work fully now!
- dereference symlink - seems to work fully now!
- hard links - seems to work now
- special files (block/char device, fifos, sockets...) - seems to work ok.
-- other ioctls - mostly untested
+- other ioctls - MOSTLY UNTESTED
- dangling symlink - UNTESTED !
-- create symlink - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- create hardlink - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- create file - creates, but corrupts. after reboot seem ok ?
-- create special file - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- write to file - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- rename file (same dir) - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- rename file (dif. dir) - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- rename dir (same dir) - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- rename dir (dif. dir) - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- delete file - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- delete hardlink - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- mkdir - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- rmdir - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
-- umssyncing - WARNING: NONE OF WRITE OPERATIONS FIXED YET!
+- create symlink - works on short names, but fails (gets
+ truncated on long ones) (also
+ due to some dentries problems, it may not
+ be visible right away always - eg. before
+ umount/mount)
+- create hardlink - WARNING: NOT FIXED YET!
+- create file - creates short names, but probs with long ones ?
+- create special file - seems to work on short names.
+- write to file - seems to work on short names.
+- rename file (same dir) - WARNING: NOT FIXED YET!
+- rename file (dif. dir) - WARNING: NOT FIXED YET!
+- rename dir (same dir) - WARNING: NOT FIXED YET!
+- rename dir (dif. dir) - WARNING: NOT FIXED YET!
+- delete file - WARNING: NOT FIXED YET!
+- notify_change (chown,perms) - seems to work!
+- delete hardlink - WARNING: NOT FIXED YET!
+- mkdir - seems to work, even with long names ! (but
+ due to some dentries problems, it may not
+ be visible right away always - eg. before
+ umount/mount)
+- rmdir - WARNING: NOT FIXED YET!
+- umssyncing - does something :-), but NEEDS EXTENSIVE TESTING
Notes: moderate dentry/inode kernel structures trashing. Probably some other
kernel structures compromised. Have SysRq support compiled in, and use
-Sync/Emergency-remount-RO. And don't try mounting read/write yet - and then
+Sync/Emergency-remount-RO. And if you don't try mounting read/write -
you should have no big problems...
Notes2: kernel structures trashing seems to be _MUCH_ lower if no
@@ -69,6 +77,17 @@
is supposed to be fixed enough to work, but I haven't got the time to test
it.
+Note4: on failure of creating of long filenames: MSDOS filename gets
+created, and EMD entry gets created. Check: either they mismatch, or EMD
+entry contains some wrong flags.
+
+Note5: rmdir(2) probably fails because do_rmdir calls lock_parent, which
+uses dentry->d_parent, which we neglect to set, so it returns -ENOENT.
+Probably same problem on unlink(2) ? What to do ? How to set
+dentry->d_parent to something useful ?? Must I recurse down whole pathname
+and set one by one all directory components ?! or only last one is really
+needed ? help !
+
------------------------------------------------------------------------------
Some general notes:
@@ -85,7 +104,7 @@
'reboot/set_environment' component that now occures every few cycles.
But I need some help from someone knowing about dentries/inodes use more
-than I. If you can help, please contact me... I'm mostly worries about
+than I. If you can help, please contact me... I'm mostly worried about
iget/iput and dget/dput, and deallocating temporary dentries we create.
should we destroy temp dentries ? using d_invalidate ? using d_drop ? just
dput them ?
@@ -96,9 +115,9 @@
message. You can try mnalis@open.hr or mnalis@voyager.hr; however
mnalis@jagor.srce.hr is preferable one.
-------------------------------------------------------------------------------
-some of my notes for myself:
+------------------------------------------------------------------------------
+some of my notes for myself /mn/:
+ hardlinks/symlinks. test with files in not_the_same_dir
- also test not_the_same_dir for other file operations like rename etc.
@@ -108,3 +127,17 @@
- what about .dotfiles ? working ? multiple dots ? etc....
- fix stuff like dir->i_count++ to atomic_inc(&dir->i_count) and simular?
+
+- umsdos_create_any - calling msdos_create will create dentry for shor name. Hmmmm..?
+- kill_dentry - put it where is needed. Also dput() at needed places.
+
+- when should dput()/iput() be used ?!!
+
+- probably problem with filename mangling somewhere, since both create and
+ write to file work on short filenames, but fail on long ones. Path
+ components may be of any size (eg. mkfifo /mnt/Very_long_dir2/blah1 will
+ succeed, but mkfifo /mnt/very_long_filename.txt won't)
+
+
+- what is dir->i_count++ ? locking directory ? should this be lock_parent or
+something ?
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov