drbd: Proc bits of new resync speed stuff
authorPhilipp Reisner <philipp.reisner@linbit.com>
Tue, 4 May 2010 14:31:03 +0000 (16:31 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 17 May 2010 23:26:27 +0000 (01:26 +0200)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_proc.c

index be3374b6846057734b6e6bd75e4f2d64065a84d2..81dea0a8593365c8005629587e8b2013c997ff16 100644 (file)
@@ -73,14 +73,22 @@ static void drbd_syncer_progress(struct drbd_conf *mdev, struct seq_file *seq)
        seq_printf(seq, "sync'ed:%3u.%u%% ", res / 10, res % 10);
        /* if more than 1 GB display in MB */
        if (mdev->rs_total > 0x100000L)
-               seq_printf(seq, "(%lu/%lu)M\n\t",
+               seq_printf(seq, "(%lu/%lu)M",
                            (unsigned long) Bit2KB(rs_left >> 10),
                            (unsigned long) Bit2KB(mdev->rs_total >> 10));
        else
-               seq_printf(seq, "(%lu/%lu)K\n\t",
+               seq_printf(seq, "(%lu/%lu)K",
                            (unsigned long) Bit2KB(rs_left),
                            (unsigned long) Bit2KB(mdev->rs_total));
 
+       if (mdev->state.conn == C_SYNC_TARGET)
+               seq_printf(seq, " queue_delay: %d.%d ms\n\t",
+                          mdev->data_delay / 1000,
+                          (mdev->data_delay % 1000) / 100);
+       else if (mdev->state.conn == C_SYNC_SOURCE)
+               seq_printf(seq, " delay_probe: %d\n\t",
+                          atomic_read(&mdev->delay_seq));
+
        /* see drivers/md/md.c
         * We do not want to overflow, so the order of operands and
         * 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)
        else
                seq_printf(seq, " (%ld)", dbdt);
 
+       if (mdev->state.conn == C_SYNC_TARGET) {
+               if (mdev->c_sync_rate > 1000)
+                       seq_printf(seq, " want: %d,%03d",
+                                  mdev->c_sync_rate / 1000, mdev->c_sync_rate % 1000);
+               else
+                       seq_printf(seq, " want: %d", mdev->c_sync_rate);
+       }
+
        seq_printf(seq, " K/sec\n");
 }