VFS accounting: check if nullfs mp* really exist
authorFrancois Tigeot <ftigeot@wolfpond.org>
Fri, 17 Feb 2012 22:58:58 +0000 (23:58 +0100)
committerFrançois Tigeot <ftigeot@wolfpond.org>
Sat, 18 Feb 2012 09:12:11 +0000 (10:12 +0100)
commite6a2de8892f82243ea8672b974cb8d190c0bc35d
treeee1740b164632c7ba832c3a26b747f458bb663fd
parenta72972987f16739ace05522a6081e9aa131a09f4
VFS accounting: check if nullfs mp* really exist

* Nullfs are a clever hack, they forget their mp after mount and let the
  non-nullfs underlying mount point do all the work

* Nevertheless, we need to get the real struct mount associated to a mount
  point to count the space used by PFSes. We cache it in the vnode.

* But since the vnode we use really belongs to the lowest underlying
  mount point, the upper-level mp may already have been freed.

* We need to first check if it still valid; a new function,
  mountlist_exists() now exists for that purpose.

* Should fix issue #2266
sys/kern/vfs_mount.c
sys/kern/vfs_vopops.c
sys/sys/mount.h