]> Zhao Yanbai Git Server - minix.git/commit
Two 'dynamic driver' features in FS:
authorBen Gras <ben@minix3.org>
Thu, 20 Oct 2005 19:39:32 +0000 (19:39 +0000)
committerBen Gras <ben@minix3.org>
Thu, 20 Oct 2005 19:39:32 +0000 (19:39 +0000)
commitb5e3e6d18c0d471bdd5bebdaed3e9c9694d409fa
treecb154328714953e2f59c609841266a2c34fce5af
parent11146aba3d342913a809213620baf7efb9792206
Two 'dynamic driver' features in FS:
.  When drivers disappear that have pending select()s, wake up
   those user processes with EAGAIN so that they can retry their
   select() and won't hang forever on it.
.  When drivers re-appear and are mapped into the dmap, run through
   the list of mounted filesystems and re-dev_open() every one (for
   partition tables and such). This can't happen before the driver
   has exec()ced itself, so processes that have fork()ed but not
   exec()ced yet are marked as DMAP_BABY in the dmap table if they
   are dmapped before they are execced. If that happens, the above
   procedure happens after the exec(). If the exec() happens before
   the dmapping, it (the dev_open()ing) happens right away.
servers/fs/device.c
servers/fs/dmap.c
servers/fs/fproc.h
servers/fs/misc.c
servers/fs/pipe.c
servers/fs/proto.h
servers/fs/select.c