Changes by: erm (erm at unknown.email)
Date: 2004-08-11 19:28:52 -0700 (Wed, 11 Aug 2004)
Revision: 1835
Log message:

      All the files for the new distributed file system.
      
      Currently dufs compiles and will do a few operations correctly: read, write,
      list files, modify inodes, maybe some others.  Creating/removing files is still
      a problem.
      
      Things get confused if the server dies, the uservfs system is unmounted out from
      under it, or sometimes if files change in the underlying directory.  I'm not
      sure if any of that counts as real bugs, though :)
      

Changes  Path
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/OMakefile
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/OMakefile

Changes by: erm (erm at unknown.email)
Date: 2004-08-11 19:28:54 -0700 (Wed, 11 Aug 2004)
Revision: 1836
Log message:

      All the files for the new distributed file system.
      
      Currently dufs compiles and will do a few operations correctly: read, write,
      list files, modify inodes, maybe some others.  Creating/removing files is still
      a problem.
      
      Things get confused if the server dies, the uservfs system is unmounted out from
      under it, or sometimes if files change in the underlying directory.  I'm not
      sure if any of that counts as real bugs, though :)
      

Changes  Path
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/clib/OMakefile
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/clib/OMakefile
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/clib/ml_uservfs.c
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/clib/ml_uservfs.c
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/OMakefile
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/OMakefile
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/abstractfs.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/abstractfs.mli
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/uservfs.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/uservfs.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/OMakefile
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/OMakefile
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/debug.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/debug.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/fmarshal.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/fmarshal.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/idsource.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/idsource.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/idsource.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/idsource.mli
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/interval_set.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/interval_set.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/intsource.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/intsource.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/intsource.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/intsource.mli
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/log_clock.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/log_clock.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/log_clock.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/log_clock.mli
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_map.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_map.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_map.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_map.mli
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_set.ml
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_set.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_set.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/dufs/mllib/mc_set.mli
+3 -3 mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/OMakefile
+13 -18 mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/main.ml
+260 -427 mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/server.ml
Added mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/serversig.mli
Properties mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/serversig.mli

Changes by: erm (erm at unknown.email)
Date: 2004-08-19 17:18:29 -0700 (Thu, 19 Aug 2004)
Revision: 1837
Log message:

      Small programs and scripts I wrote to help test the uservfs system and my
      code.
      

Changes  Path
Added mojavefs-branches/erm/src/uservfs/old/utils/failure.sh
Properties mojavefs-branches/erm/src/uservfs/old/utils/failure.sh
Added mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmi
Properties mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmi
Added mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmx
Properties mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmx
Added mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.ml
Properties mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.ml
Added mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.o
Properties mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.o
Added mojavefs-branches/erm/src/uservfs/old/utils/inodecoll
Properties mojavefs-branches/erm/src/uservfs/old/utils/inodecoll
Added mojavefs-branches/erm/src/uservfs/old/utils/mlstat.ml
Properties mojavefs-branches/erm/src/uservfs/old/utils/mlstat.ml
Added mojavefs-branches/erm/src/uservfs/old/utils/teststat.c
Properties mojavefs-branches/erm/src/uservfs/old/utils/teststat.c

Changes by: erm (erm at unknown.email)
Date: 2004-08-19 17:20:03 -0700 (Thu, 19 Aug 2004)
Revision: 1838
Log message:

      Don't want to cvsify object files and other cruft...
      

Changes  Path
Deleted mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmi
Deleted mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.cmx
Deleted mojavefs-branches/erm/src/uservfs/old/utils/inode_collision.o
Deleted mojavefs-branches/erm/src/uservfs/old/utils/inodecoll

Changes by: erm (erm at unknown.email)
Date: 2004-08-19 17:33:47 -0700 (Thu, 19 Aug 2004)
Revision: 1839
Log message:

      Fixed a number of show-stopper quality bugs with Cristian's help:
      --Large number of files => massive weirdness:
          I wasn't closing the directory handle in the ML mirrorfs read_dir
          function.
      --All writes start at position zero, regardless of syscall parameters:
          There was no code in the uservfs module to increase the file pointer on
          a write file op.
      --Directory listings return only a fraction of the present files:
          A line (module/uservfs_dir.c:142) was missing to decrement the index...
          It makes more sense--sort of--if you look at the code.
      
      Still problematic:
      --I've had two kernel panics during testing.  They've both been in kernel
        code not related at all to the modules (scheduler and an illegal operation
        in an interrupt) which makes me suspect a race condition knocking around
        somewhere in the uml code, but I really don't know.
      --Speed?  I haven't run any tests at all, but it's not going to win any
        awards.  Turning off the huge amount of debugging spew helps, though.
      --Symlinks still don't work.  Symlinks really should work on a production
        filesystem, but for development and testing, not such a big deal.  Dunno
        about hard links yet, but I don't know why they wouldn't work.
      --There are random oddnesses about the root inode permissions that I don't
        comprehend in the least.  That's not important at all, though--we work
        inside a subdir of the root always, and we're fine there.
      

Changes  Path
+2 -1 mojavefs-branches/erm/src/uservfs/old/OMakefile
+10 -5 mojavefs-branches/erm/src/uservfs/old/module/OMakefile
+4 -0 mojavefs-branches/erm/src/uservfs/old/module/uservfs_debug.h
+7 -0 mojavefs-branches/erm/src/uservfs/old/module/uservfs_dev.c
+10 -3 mojavefs-branches/erm/src/uservfs/old/module/uservfs_dir.c
+11 -4 mojavefs-branches/erm/src/uservfs/old/module/uservfs_file.c
+9 -0 mojavefs-branches/erm/src/uservfs/old/module/uservfs_link.c
+0 -14 mojavefs-branches/erm/src/uservfs/old/module/uservfs_rpc.c
+14 -7 mojavefs-branches/erm/src/uservfs/old/servers/dufs/clib/ml_uservfs.c
+2 -0 mojavefs-branches/erm/src/uservfs/old/servers/dufs/fs/abstractfs.mli
+12 -109 mojavefs-branches/erm/src/uservfs/old/servers/mirror/mirror.c
+2 -1 mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/main.ml
+19 -16 mojavefs-branches/erm/src/uservfs/old/servers/umfs/main/server.ml

Changes by: erm (erm at unknown.email)
Date: 2004-08-19 18:24:39 -0700 (Thu, 19 Aug 2004)
Revision: 1840
Log message:

      Woo! Documentation.  More to follow.
      

Changes  Path
Added mojavefs-branches/erm/src/uservfs/old/notes/about-ml-uservfs.txt
Properties mojavefs-branches/erm/src/uservfs/old/notes/about-ml-uservfs.txt
Added mojavefs-branches/erm/src/uservfs/old/notes/module-structure.txt
Properties mojavefs-branches/erm/src/uservfs/old/notes/module-structure.txt
Added mojavefs-branches/erm/src/uservfs/old/notes/references.txt
Properties mojavefs-branches/erm/src/uservfs/old/notes/references.txt
Added mojavefs-branches/erm/src/uservfs/old/notes/symlinks.txt
Properties mojavefs-branches/erm/src/uservfs/old/notes/symlinks.txt