[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] "queue if no paths" infinite recursion when there are no paths



On Wed, Feb 23, 2005 at 04:20:15PM -0500, goggin, edward wrote:
> It appears that there is no stopping condition for retrying i/os failed
> via bio_endio() in dispatch_queued_ios().  

Currently they are meant to be requeued down different path - never
down a path already used - so they try all paths then get
errored.  If there's no path available, and m->suspended is set,
nothing is meant to be queued.
I think the bug is the goto requeue that should have tested
for m->suspended first - a test for queue_if_no_path missed when m
->suspended was added.

if (!m->queue_if_no_path &&!m->suspended) {

Alasdair


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]