From 12a602dcfd79deebfce175419adf687e45bced12 Mon Sep 17 00:00:00 2001 From: Philipp Reisner Date: Fri, 15 Jul 2011 13:53:06 +0200 Subject: [PATCH] --- yaml --- r: 346115 b: refs/heads/master c: 3b03ad5929e3ba5e1c3db7a70d426f883be061c2 h: refs/heads/master i: 346113: f3854ad6b02ef635831dda28ce819b8191d87214 346111: d15aff18d8d0cc2de217a2b2cea0e1a38dcb9ec8 v: v3 --- [refs] | 2 +- trunk/drivers/block/drbd/drbd_req.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a8d0bf8ac0af..80391a9b9b3b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3fb4746d8d3f9c3e48f7fc65ed24bc54bb8032aa +refs/heads/master: 3b03ad5929e3ba5e1c3db7a70d426f883be061c2 diff --git a/trunk/drivers/block/drbd/drbd_req.c b/trunk/drivers/block/drbd/drbd_req.c index 8fa51cda3b7e..d0f73b3a6796 100644 --- a/trunk/drivers/block/drbd/drbd_req.c +++ b/trunk/drivers/block/drbd/drbd_req.c @@ -1083,7 +1083,7 @@ void request_timer_fn(unsigned long data) struct drbd_request *req; /* oldest request */ struct list_head *le; struct net_conf *nc; - unsigned long ent = 0, dt = 0, et; /* effective timeout = ko_count * timeout */ + unsigned long ent = 0, dt = 0, et, nt; /* effective timeout = ko_count * timeout */ rcu_read_lock(); nc = rcu_dereference(tconn->net_conf); @@ -1122,6 +1122,7 @@ void request_timer_fn(unsigned long data) __drbd_chk_io_error(mdev, 1); } } + nt = (time_is_before_eq_jiffies(req->start_time + et) ? jiffies : req->start_time) + et; spin_unlock_irq(&tconn->req_lock); - mod_timer(&mdev->request_timer, req->start_time + et); + mod_timer(&mdev->request_timer, nt); }