[dm-devel] "queue if no paths" infinite recursion when there are no paths
Alasdair G Kergon
agk at redhat.com
Thu Feb 24 02:37:32 UTC 2005
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
More information about the dm-devel
mailing list