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