]> xenbits.xensource.com Git - people/dstodden/blktap.git/commitdiff
Cleanup watchdog timeout calculation.
authorDaniel Stodden <daniel.stodden@citrix.com>
Fri, 10 Apr 2009 03:49:40 +0000 (20:49 -0700)
committerDaniel Stodden <daniel.stodden@citrix.com>
Fri, 10 Apr 2009 03:49:40 +0000 (20:49 -0700)
Just cleanup, but off by a 500 ms average.

drivers/tapdisk-vbd.c

index 01e547a9217308754adfbb674257af9498fc5d10..bd3bb1955ff21c592e10c0cfc7e072efa75ee9cb 100644 (file)
@@ -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;
        }