um: ubd: Fix for processes stuck in D state forever
authorThorsten Knabe <linux@thorsten-knabe.de>
Sat, 23 Aug 2014 13:47:38 +0000 (15:47 +0200)
committerRichard Weinberger <richard@nod.at>
Mon, 13 Oct 2014 19:45:55 +0000 (21:45 +0200)
commit2a2361228c5e6d8c1733f00653481de918598e50
treed3cdbfaa7aecbe941417bc63435b1f315aabf762
parent9e6a57d2cdee36a6d9c5d5cc3db85713dd416719
um: ubd: Fix for processes stuck in D state forever

Starting with Linux 3.12 processes get stuck in D state forever in
UserModeLinux under sync heavy workloads. This bug was introduced by
commit 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport).
Fix bug by adding a check if FLUSH request was successfully submitted to
the I/O thread and keeping the FLUSH request on the request queue on
submission failures.

Fixes: 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport)
Signed-off-by: Thorsten Knabe <linux@thorsten-knabe.de>
Cc: stable@kernel.org # >= 3.12
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/drivers/ubd_kern.c