This change is another bit of groundwork needed by the upcoming changes to
allow softdep to recovery gracefully from disk I/O errors.
From the comment in the code:
- The "mntfs" VCHR vnodes implemented here provide a safe way for file systems
- to access their disk devices. Using the normal devfs vnode has the problem
- that if the device disappears, the devfs vnode is vgone'd as part of
- removing it from the application-visible namespace, and some file systems
- (notably FFS with softdep) get very unhappy if their dirty buffers are
- invalidated out from under them. By using a separate, private vnode,
- file systems are able to clean up their buffer state in a controlled fashion
- when the underlying device disappears.
This diff adds the new mntfs vnode facilty and changes FFS to use mntfs vnodes.