From: Daniel Stodden Date: Fri, 10 Apr 2009 03:49:40 +0000 (-0700) Subject: Cleanup watchdog timeout calculation. X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=21c141c0867dca5d40b2d4793b07a52d91d75129;p=people%2Fdstodden%2Fblktap.git Cleanup watchdog timeout calculation. Just cleanup, but off by a 500 ms average. --- diff --git a/drivers/tapdisk-vbd.c b/drivers/tapdisk-vbd.c index 01e547a..bd3bb19 100644 --- a/drivers/tapdisk-vbd.c +++ b/drivers/tapdisk-vbd.c @@ -1245,18 +1245,19 @@ tapdisk_vbd_check_state(td_vbd_t *vbd) void tapdisk_vbd_check_progress(td_vbd_t *vbd) { - int diff; - struct timeval now; + time_t diff; + struct timeval now, delta; if (list_empty(&vbd->pending_requests)) return; gettimeofday(&now, NULL); - diff = now.tv_sec - vbd->ts.tv_sec; + timersub(&now, &vbd->ts, &delta); + diff = delta.tv_sec; if (diff >= TD_VBD_WATCHDOG_TIMEOUT) { DBG(TLOG_WARN, "%s: watchdog timeout: pending requests " - "idle for %d seconds\n", vbd->name, diff); + "idle for %ld seconds\n", vbd->name, diff); tapdisk_vbd_drop_log(vbd); return; }