minix/servers
Thomas Veerman 7d02ecdbb4 VFS: set w_task only when needed
It was always set, but not always cleared, when talking to asynchronous
drivers. This could cause erratic behavior upon a driver crash.

Normally, a worker thread's w_task field is set when it's about to
communicate with a driver or FS. Then upon receiving a reply we can
do sanity checks (that the thread we want to wake up was actually
waiting for a reply). Also, when a driver/FS crashes, we can identify
which worker threads were talking to the crashed endpoint and handle
the error gracefully.

Asynchronous drivers are a bit special, though. In most cases, the
sender of the request is not interested in the reply (the sender was
suspended and only wants to know whether the request was successfully
caried out or not). However, the open request is special, as the reply
carries information needed by the sender. This is the only request
where a worker thread actually yields and waits for the result. This is
also the only case where we're interested in setting w_task for
asynchronous drivers.

Change-Id: Ia1ce2747937df376122b5e13b6a069de27fcc379
2014-02-18 11:25:02 +01:00
..
devman Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
ds Cleanup: Remove minix.bootprog.mk 2013-03-06 11:56:56 +01:00
ext2 VFS/FS: replace protocol version with flag field 2014-02-18 11:25:02 +01:00
hgfs Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
inet Alignement on netbsd types, part 1 2014-02-18 11:25:01 +01:00
init init: handle getty string of "" (default) 2013-06-12 07:04:53 +00:00
ipc moving prototypes to lib.h 2014-02-18 11:25:01 +01:00
is Alignement on netbsd types, part 1 2014-02-18 11:25:01 +01:00
iso9660fs VFS/FS: replace protocol version with flag field 2014-02-18 11:25:02 +01:00
lwip fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
mfs Fix various file system warnings 2014-02-18 11:25:02 +01:00
pfs moving prototypes to lib.h 2014-02-18 11:25:01 +01:00
pm Removing CSU patches 2014-02-18 11:25:02 +01:00
procfs Implement support for getvfsstat(2) 2014-02-18 11:25:02 +01:00
rs Removing CSU patches 2014-02-18 11:25:02 +01:00
sched kernel: spelling fixes 2013-10-09 20:24:17 -04:00
vbfs Add VBFS: VirtualBox Shared Folder File System 2012-04-11 00:27:48 +02:00
vfs VFS: set w_task only when needed 2014-02-18 11:25:02 +01:00
vm Removing CSU patches 2014-02-18 11:25:02 +01:00
Makefile lwip (inet's alternative) is compiled by default 2013-03-25 16:51:25 +01:00
Makefile.inc Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00