]> Zhao Yanbai Git Server - minix.git/commit
Add support for survival of crashed FSs
authorThomas Veerman <thomas@minix3.org>
Thu, 19 Jan 2012 14:21:46 +0000 (14:21 +0000)
committerThomas Veerman <thomas@minix3.org>
Thu, 19 Jan 2012 14:21:46 +0000 (14:21 +0000)
commitddbdca6cdb0d33fc6d254a75b424466e32f9d091
tree8ad40a90f2d863ae410f146becdbba833d194aa8
parentdd59d50944d116b0a5eaaf8941f08e1e469be1b0
Add support for survival of crashed FSs

When an FS crashes, VFS will clean up resources tied to that FS:
 - Pending requests to the FS are canceled (i.e., fail with EIO)
 - Threads waiting for a reply are stopped (i.e., fail with EIO)
 - Open files are marked invalid. Future operations on a file descriptor
   will cause EBADF errors.
 - vmnt entry is cleared, so in-flight system calls that got past the
   file descriptor check but not yet talking to the crashed FS, will
   fail with EIO.
 - The reference counter of the mount point is decreased, effectively
   removing the crashed FS from the file system tree. Descendants of
   this part of the tree are unreachable by means of a path, but can
   still be unmounted by feeding the block special file to unmount(2).

This patch also gets rid of the "not a known driver endpoint" messages
during shutdown.
servers/avfs/comm.c
servers/avfs/device.c
servers/avfs/filedes.c
servers/avfs/misc.c
servers/avfs/path.c
servers/avfs/proto.h
servers/avfs/vmnt.c