kernel - TMPFS - Bug fixing pass - vinitvmio(), umount, readdir
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Feb 2010 07:57:53 +0000 (23:57 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Feb 2010 07:57:53 +0000 (23:57 -0800)
commit22d3b3946bbeccc18eb6c307b2d8075024cfbd18
tree6e421e2f100ac3a8cc0eb5fcf6ed5b42c26c10c3
parent630e3a334375c671bcf4a9e07e80277d839c36db
kernel - TMPFS - Bug fixing pass - vinitvmio(), umount, readdir

* Call vinitvmio() with a properly bufcache-aligned number of pages

* Do not call vinitvmio() for symlinks or directories (we don't use
  the buffer cache for those vnode types).

* Adjust tmpfs_dir_attach() and tmpfs_dir_detach() so the detach
  code can be called from umount, and call it from umount to fix
  a panic.

* tmpfs_dir_getdotdotdent() needed to be adjusted to handle the
  root vnode's NULL parent pointer.  Fixed empty root directories
  for the mount.

* Acquire TMPFS_NODE_LOCK() around opreations on dnode->tn_dir.tn_dirhead.
sys/vfs/tmpfs/tmpfs.h
sys/vfs/tmpfs/tmpfs_subr.c
sys/vfs/tmpfs/tmpfs_vfsops.c
sys/vfs/tmpfs/tmpfs_vnops.c