summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_worker.c
diff options
context:
space:
mode:
authorPhilipp Reisner2012-10-19 14:37:47 +0200
committerPhilipp Reisner2012-11-09 14:11:43 +0100
commit328e0f125bf41f4f33f684db22015f92cb44fe56 (patch)
tree364b7292db9d7072130080589b579e3fdadf23e6 /drivers/block/drbd/drbd_worker.c
parentdrbd: don't try to clear bits once the disk has failed (diff)
downloadkernel-qcow2-linux-328e0f125bf41f4f33f684db22015f92cb44fe56.tar.gz
kernel-qcow2-linux-328e0f125bf41f4f33f684db22015f92cb44fe56.tar.xz
kernel-qcow2-linux-328e0f125bf41f4f33f684db22015f92cb44fe56.zip
drbd: Broadcast sync progress no more often than once per second
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_worker.c')
-rw-r--r--drivers/block/drbd/drbd_worker.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index 64a7305c678a..424dc7bdf9b7 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1696,6 +1696,10 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
write_unlock_irq(&global_state_lock);
if (r == SS_SUCCESS) {
+ /* reset rs_last_bcast when a resync or verify is started,
+ * to deal with potential jiffies wrap. */
+ mdev->rs_last_bcast = jiffies - HZ;
+
dev_info(DEV, "Began resync as %s (will sync %lu KB [%lu bits set]).\n",
drbd_conn_str(ns.conn),
(unsigned long) mdev->rs_total << (BM_BLOCK_SHIFT-10),