MFC of rev. 1.164:
MFC of rev. 1.164:

- Conditionally acquire Giant in mdstart_vnode(), mdcreate_vnode(), and
  mddestroy() only if the file is from a non-MPSAFE fs.
There, to accommodate for the vn_open() difference with HEAD, use
VFS_LOCK_GIANT after vn_open (since vn_open(..., -1) assumes caller is not
MP-safe).
- No longer unconditionally hold Giant in the md kthread for vnode-backed
  kthreads.
- Improve the handling of the thread exit race when destroying an md
  device.

No objections from:	jhb

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase