[PATCH 0/1] nbd: fix dangling requests bug

From: paul . clements
Date: Fri Aug 31 2012 - 17:51:50 EST


This patch fixes a serious, but uncommon bug in nbd. This should probably
be considered for backport to one or more stable branches.

The bug occurs when there is heavy I/O going to the nbd device while, at the
same time, a failure (server, network) or manual disconnect of the nbd
connection occurs.

There is a small window between the time that the nbd_thread is stopped and the
socket is shutdown where requests can continue to be queued to nbd's
internal waiting_queue. When this happens, those requests are never completed
or freed.

The fix is to clear the waiting_queue on shutdown of the nbd device, in
the same way that the nbd request queue (queue_head) is already being cleared.

--
Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/