[PATCH RESEND] writeback: account BDI's min_ratio for unregistered device

From: Akinobu Mita
Date: Tue Sep 08 2015 - 11:54:11 EST


>From mm/page-writeback.c:

/*
* bdi_min_ratio keeps the sum of the minimum dirty shares of all
* registered backing devices, which, for obvious reasons, can not
* exceed 100%.
*/
static unsigned int bdi_min_ratio;

But when a backing device is unregistered, the BDI's min_ratio is not
subtracted from bdi_min_ratio. So the second attempt to set min_ratio
in the following commands will fail.

# modprobe null_blk
# echo 50 > /sys/block/nullb0/bdi/min_ratio
# modprobe -r null_blk
# modprobe null_blk
# echo 50 > /sys/block/nullb0/bdi/min_ratio

Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Acked-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
---
Resending with Tejun's ACK

mm/backing-dev.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 885361b..ccf72be 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -849,6 +849,7 @@ void bdi_destroy(struct backing_dev_info *bdi)
}

wb_exit(&bdi->wb);
+ bdi_set_min_ratio(bdi, 0);
}
EXPORT_SYMBOL(bdi_destroy);

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/