mnt: Fix mntflush "rpc tags" error
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Jan 2017 22:56:09 +0000 (17:56 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Jan 2017 22:56:09 +0000 (17:56 -0500)
commit7044756e3184282ce0fe0d9c1549fb9bb2c86846
treec4ac2935da8c93263b6261df63322ca683b612b8
parent396646fb29acb3c949c64d3f88ae3ddc22b205b8
mnt: Fix mntflush "rpc tags" error

This might be the third time we tried to fix this.  In this case, if a
process has a syscall in progress that is blocked in mntio(), then when
that process dies, its syscall will get aborted.  When this loop retried,
it would block and immediately fail again (rendez aborts when DYING).

Since this loop didn't allow aborts to happen (abort == retry, here), we
needed to special case when the process is actually dying and *really*
abort.

Ugh.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/drivers/dev/mnt.c