drbd: use rolling marks for resync speed calculation
authorLars Ellenberg <lars.ellenberg@linbit.com>
Wed, 11 Aug 2010 19:21:50 +0000 (21:21 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 14 Oct 2010 16:38:18 +0000 (18:38 +0200)
commit1d7734a0df02ff5068ff8baa1447c7baee601db1
tree2b01470ccd1523328c9e243801266aff9e2df391
parent0bb70bf601579b0d4c56acbb54b8eb0688541e19
drbd: use rolling marks for resync speed calculation

The current resync speed as displayed in /proc/drbd fluctuates a lot.
Using an array of rolling marks makes this calculation much more stable.
We used to have this (a long time ago with 0.7), but it got lost somehow.

If "stalled", do not discard the rest of the information, just add a
" (stalled)" tag to the progress line.

This patch also shortens a spinlock critical section somewhat, and
reduces the number of atomic operations in put_ldev.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_actlog.c
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_proc.c
drivers/block/drbd/drbd_worker.c