git: kernel - TMPFS - Bug fixing pass - directory hierarchy

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Feb 13 00:03:46 PST 2010


commit 0786baf1fc52cfb8dfbb4703b677a498aa96bfe0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Feb 12 22:16:35 2010 -0800

    kernel - TMPFS - Bug fixing pass - directory hierarchy
    
    * Adjust parent linkages for directories.  The root node's parent
      linkage is now set to NULL instead of a self-reference.  The
      root node is given just one extra link count to hold it instead
      of two.
    
    * List operations on tmpfs_mount->tn_entries are now protected
      by TMPFS_LOCK.
    
    * Hold a node locked when calling tmpfs_free_node().  The function
      will eat the lock.
    
    * Do a better job cleaning up dirent and node structures when freeing.
      The ctor function is only called on backing store allocations, not
      on frontend objcache allocations.
    
      Misinitialized previously freed structures created some amount of
      havoc.
    
    * Remove unnecessary critical sections.
    
    * Refactor the umount code to properly clean up all nodes, and in
      the correct order.  Remove tmpfs_free_node() hacks that tried
      to allow out-of-order removal.

Summary of changes:
 sys/vfs/tmpfs/tmpfs.h        |    4 +-
 sys/vfs/tmpfs/tmpfs_subr.c   |  100 +++++++++++++++++++++++++++---------------
 sys/vfs/tmpfs/tmpfs_vfsops.c |   93 +++++++++++++++++++++++++++-----------
 sys/vfs/tmpfs/tmpfs_vnops.c  |   19 +++++---
 4 files changed, 145 insertions(+), 71 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0786baf1fc52cfb8dfbb4703b677a498aa96bfe0


-- 
DragonFly BSD source repository





More information about the Commits mailing list