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.