]> Zhao Yanbai Git Server - minix.git/commit
VFS: fix aborting queued requests after FS crash 14/3314/1
authorDavid van Moolenbroek <david@minix3.org>
Fri, 17 Jun 2016 18:02:29 +0000 (18:02 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Fri, 17 Jun 2016 18:02:29 +0000 (18:02 +0000)
commit7d0647db6a1e46e7289a13effb6163d41a717cf5
treef75067460f36845645d336d928502fcb73563cba
parenta7a79fa1f56459d4581874d33595a897559e1cda
VFS: fix aborting queued requests after FS crash

The new asserts from git-29e004d exposed an issue in how VFS handles
aborting file system (FS) requests that are queued for a FS (as
opposed to sent to it) when that FS crashes.  In that scenario, the
queued worker has its w_task set to NONE, because there is no ongoing
communication.  However, worker_stop() is called on it regardless,
which used to abort the request only if w_task was not set to NONE,
leading to an improperly aborted request, a warning, and a VFS crash a
bit later.  This patch changes worker_stop() so that w_task need not
be set to a valid endpoint for FS requests to be properly aborted.

Change-Id: Ib73db285e689ae4742b15cba26137bf340bc303b
minix/servers/vfs/worker.c