cvs commit: src/sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c

From: Ulf Lilleengen <lulf_at_FreeBSD.org>
Date: Sat, 24 May 2008 14:51:30 +0000 (UTC)
lulf        2008-05-24 14:51:30 UTC

  FreeBSD src repository

  Modified files:
    sys/fs/fdescfs       fdesc.h fdesc_vfsops.c fdesc_vnops.c 
  Log:
  - Add locking to all filesystem operations in fdescfs and flag it as MPSAFE.
  - Use proper synhronization primitives to protect the internal fdesc node cache
    used in fdescfs.
  - Properly initialize and uninitalize hash.
  - Remove unused functions.
  
  Since fdescfs might recurse on itself, adding proper locking to it needed some
  tricky workarounds in some parts to make it work. For instance, a descriptor in
  fdescfs could refer to an open descriptor to itself, thus forcing the thread to
  recurse on vnode locks. Because of this, other race conditions also had to be
  fixed.
  
  Tested by:      pho
  Reviewed by:    kib (mentor)
  Approved by:    kib (mentor)
  
  Revision  Changes    Path
  1.21      +7 -2      src/sys/fs/fdescfs/fdesc.h
  1.59      +34 -10    src/sys/fs/fdescfs/fdesc_vfsops.c
  1.109     +158 -72   src/sys/fs/fdescfs/fdesc_vnops.c
Received on Sat May 24 2008 - 14:51:30 UTC