drbd: reset congestion information before reporting it in /proc/drbd
authorLars Ellenberg <lars.ellenberg@linbit.com>
Mon, 30 Jul 2012 07:09:36 +0000 (09:09 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:58:39 +0000 (16:58 +0100)
We cache the congestion status in mdev->congestion_reason whenever
drbd_congested() was called.
Reset this cached info before reporting it when reading /proc/drbd.

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 64e0ddbf0668c890509686d8ed6e6a089789ed2b..e0f0d2a6d538bf708c13d3311c6f32e32cfa8929 100644 (file)
@@ -242,6 +242,9 @@ static int drbd_seq_show(struct seq_file *seq, void *v)
                    mdev->state.role == R_SECONDARY) {
                        seq_printf(seq, "%2d: cs:Unconfigured\n", i);
                } else {
+                       /* reset mdev->congestion_reason */
+                       bdi_rw_congested(&mdev->rq_queue->backing_dev_info);
+
                        nc = rcu_dereference(mdev->tconn->net_conf);
                        wp = nc ? nc->wire_protocol - DRBD_PROT_A + 'A' : ' ';
                        seq_printf(seq,