tmpfs - remove most mp->mnt_token cases, kqueue filterops are MPSAFE
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 23 Oct 2013 07:32:16 +0000 (00:32 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 23 Oct 2013 07:32:16 +0000 (00:32 -0700)
commitff837cd5d97df9cfc8d66fc9ebc73557657d023e
tree46f656b1ba46c3be36c9be5f416f2b1444bf9594
parentd5ef821bd50efe0d26a4910de2aab5b82e20b9a9
tmpfs - remove most mp->mnt_token cases, kqueue filterops are MPSAFE

* tmpfs's kqueue filterops are MPSAFE, set appropriate flag.

* tmpfs's vnops frontend universally obtained the tmpfs mnt_token, but
  most of tmpfs's underlying code was already sub-locked by node.

  Remove most mnt_token use cases and make the portions that were not
  safe, safe.  This was primarily the directory lookup and scanning
  code and code to create, delete, and rename files.

* Should greatly improve tmpfs concurrency.
sys/vfs/tmpfs/tmpfs.h
sys/vfs/tmpfs/tmpfs_subr.c
sys/vfs/tmpfs/tmpfs_vfsops.c
sys/vfs/tmpfs/tmpfs_vnops.c