]> xenbits.xensource.com Git - people/dstodden/blktap.git/commitdiff
CA-27472: Dump event log on EBUSY vreq failure
authorDaniel Stodden <daniel.stodden@citrix.com>
Wed, 8 Jul 2009 02:39:31 +0000 (19:39 -0700)
committerDaniel Stodden <daniel.stodden@citrix.com>
Wed, 8 Jul 2009 02:39:31 +0000 (19:39 -0700)
Add debug code to let make_response() dump the event ring if we fail
the retry count with an EBUSY status.

drivers/tapdisk-vbd.c

index e1b67905e2f6e7e224e580d31774a360a5ee8f3f..fea5ca693d85390ab146ec2b0f94cb64421d5641 100644 (file)
@@ -1200,6 +1200,11 @@ tapdisk_vbd_make_response(td_vbd_t *vbd, td_vbd_request_t *vreq)
        if (rsp->status != BLKIF_RSP_OKAY) {
                ERR(-vreq->error, "returning BLKIF_RSP %d", rsp->status);
                tapdisk_vbd_failure_stats_add(vbd, vreq);
+               if (-vreq->error == EBUSY &&
+                   vreq->num_retries >= TD_VBD_MAX_RETRIES) {
+                       tapdisk_vbd_debug(vbd);
+                       tapdisk_server_log_events();
+               }
        }
 
        vbd->returned++;