[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 1/2] IOREQ: fix waiting for broadcast completion
Checking just a single server is not enough - all of them must have signaled that they're done processing the request. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- v2: New. --- a/xen/common/ioreq.c +++ b/xen/common/ioreq.c @@ -213,9 +213,9 @@ bool vcpu_ioreq_handle_completion(struct return false; } - sv = get_pending_vcpu(v, &s); - if ( sv && !wait_for_io(sv, get_ioreq(s, v)) ) - return false; + while ( (sv = get_pending_vcpu(v, &s)) != NULL ) + if ( !wait_for_io(sv, get_ioreq(s, v)) ) + return false; vio->req.state = ioreq_needs_completion(&vio->req) ? STATE_IORESP_READY : STATE_IOREQ_NONE;
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |