devfs - Fix a few more issues (2)
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 19 Mar 2018 02:57:19 +0000 (19:57 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 19 Mar 2018 02:57:19 +0000 (19:57 -0700)
commit770f82792a81e27168fe4ed82905e567944bf0bb
tree878b6845f59fc8f140d31763ec019833e1265e8a
parent4098a6e56c77c5ea1fb3cd4cb9afe1bbb3739ff3
devfs - Fix a few more issues (2)

* The devfs_freep() issues were more extensive then originally
  determined.  There was another race, primarily due to some
  vnodes (related to unlinked devfs nodes) getting torn down
  before aliases during umount.

* Add another flag and adjust the code to not free the node
  structure until all link references (nlinks) have gone
  away.

* Also refactor locking and sequencing to further bullet-proof
  vnode reclaims vs devfs_freep()'s.
sys/sys/devfs.h
sys/vfs/devfs/devfs_core.c
sys/vfs/devfs/devfs_vnops.c