summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_proc.c
diff options
context:
space:
mode:
authorLars Ellenberg2012-07-30 09:09:36 +0200
committerPhilipp Reisner2012-11-08 16:58:39 +0100
commit8a943170711b7a4d63528ea8eb6a41cc91e79309 (patch)
tree78d320ada007a1c98c5896fa158d5d23b4778de7 /drivers/block/drbd/drbd_proc.c
parentdrbd: report congestion if we are waiting for some userland callback (diff)
downloadkernel-qcow2-linux-8a943170711b7a4d63528ea8eb6a41cc91e79309.tar.gz
kernel-qcow2-linux-8a943170711b7a4d63528ea8eb6a41cc91e79309.tar.xz
kernel-qcow2-linux-8a943170711b7a4d63528ea8eb6a41cc91e79309.zip
drbd: reset congestion information before reporting it in /proc/drbd
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>
Diffstat (limited to 'drivers/block/drbd/drbd_proc.c')
-rw-r--r--drivers/block/drbd/drbd_proc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_proc.c b/drivers/block/drbd/drbd_proc.c
index 64e0ddbf0668..e0f0d2a6d538 100644
--- a/drivers/block/drbd/drbd_proc.c
+++ b/drivers/block/drbd/drbd_proc.c
@@ -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,