aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd/drbd_proc.c')
-rw-r--r--drivers/block/drbd/drbd_proc.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/block/drbd/drbd_proc.c b/drivers/block/drbd/drbd_proc.c
index be3374b68460..81dea0a85933 100644
--- a/drivers/block/drbd/drbd_proc.c
+++ b/drivers/block/drbd/drbd_proc.c
@@ -73,14 +73,22 @@ static void drbd_syncer_progress(struct drbd_conf *mdev, struct seq_file *seq)
73 seq_printf(seq, "sync'ed:%3u.%u%% ", res / 10, res % 10); 73 seq_printf(seq, "sync'ed:%3u.%u%% ", res / 10, res % 10);
74 /* if more than 1 GB display in MB */ 74 /* if more than 1 GB display in MB */
75 if (mdev->rs_total > 0x100000L) 75 if (mdev->rs_total > 0x100000L)
76 seq_printf(seq, "(%lu/%lu)M\n\t", 76 seq_printf(seq, "(%lu/%lu)M",
77 (unsigned long) Bit2KB(rs_left >> 10), 77 (unsigned long) Bit2KB(rs_left >> 10),
78 (unsigned long) Bit2KB(mdev->rs_total >> 10)); 78 (unsigned long) Bit2KB(mdev->rs_total >> 10));
79 else 79 else
80 seq_printf(seq, "(%lu/%lu)K\n\t", 80 seq_printf(seq, "(%lu/%lu)K",
81 (unsigned long) Bit2KB(rs_left), 81 (unsigned long) Bit2KB(rs_left),
82 (unsigned long) Bit2KB(mdev->rs_total)); 82 (unsigned long) Bit2KB(mdev->rs_total));
83 83
84 if (mdev->state.conn == C_SYNC_TARGET)
85 seq_printf(seq, " queue_delay: %d.%d ms\n\t",
86 mdev->data_delay / 1000,
87 (mdev->data_delay % 1000) / 100);
88 else if (mdev->state.conn == C_SYNC_SOURCE)
89 seq_printf(seq, " delay_probe: %d\n\t",
90 atomic_read(&mdev->delay_seq));
91
84 /* see drivers/md/md.c 92 /* see drivers/md/md.c
85 * We do not want to overflow, so the order of operands and 93 * We do not want to overflow, so the order of operands and
86 * the * 100 / 100 trick are important. We do a +1 to be 94 * the * 100 / 100 trick are important. We do a +1 to be
@@ -128,6 +136,14 @@ static void drbd_syncer_progress(struct drbd_conf *mdev, struct seq_file *seq)
128 else 136 else
129 seq_printf(seq, " (%ld)", dbdt); 137 seq_printf(seq, " (%ld)", dbdt);
130 138
139 if (mdev->state.conn == C_SYNC_TARGET) {
140 if (mdev->c_sync_rate > 1000)
141 seq_printf(seq, " want: %d,%03d",
142 mdev->c_sync_rate / 1000, mdev->c_sync_rate % 1000);
143 else
144 seq_printf(seq, " want: %d", mdev->c_sync_rate);
145 }
146
131 seq_printf(seq, " K/sec\n"); 147 seq_printf(seq, " K/sec\n");
132} 148}
133 149