summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_proc.c
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2010-11-05 09:39:06 +0100
committerPhilipp Reisner <philipp.reisner@linbit.com>2011-03-10 11:18:51 +0100
commit30b743a2d532af39c9ed13c85d5473f6f620f6c8 (patch)
tree9c995b292e463320003aa8d4a3a502ddc3a09d00 /drivers/block/drbd/drbd_proc.c
parent26525618863afcc4aab8b2a83451d37c6f513460 (diff)
downloadlinux-30b743a2d532af39c9ed13c85d5473f6f620f6c8.tar.bz2
drbd: improve online-verify progress tracking
For a partial (resumed) online-verify, initialize rs_total not to total bits, but to number of bits to check in this run, to match the meaning rs_total has for actual resync. 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_proc.c')
-rw-r--r--drivers/block/drbd/drbd_proc.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/block/drbd/drbd_proc.c b/drivers/block/drbd/drbd_proc.c
index 7e6ac307e2de..0b20aa837022 100644
--- a/drivers/block/drbd/drbd_proc.c
+++ b/drivers/block/drbd/drbd_proc.c
@@ -239,12 +239,13 @@ static int drbd_seq_show(struct seq_file *seq, void *v)
mdev->state.conn == C_SYNC_TARGET)
drbd_syncer_progress(mdev, seq);
- if (mdev->state.conn == C_VERIFY_S || mdev->state.conn == C_VERIFY_T)
+ if (mdev->state.conn == C_VERIFY_S || mdev->state.conn == C_VERIFY_T) {
+ unsigned long bm_bits = drbd_bm_bits(mdev);
seq_printf(seq, "\t%3d%% %lu/%lu\n",
- (int)((mdev->rs_total-mdev->ov_left) /
- (mdev->rs_total/100+1)),
- mdev->rs_total - mdev->ov_left,
- mdev->rs_total);
+ (int)((bm_bits-mdev->ov_left) /
+ (bm_bits/100+1)),
+ bm_bits - mdev->ov_left, bm_bits);
+ }
if (proc_details >= 1 && get_ldev_if_state(mdev, D_FAILED)) {
lc_seq_printf_stats(seq, mdev->resync);