>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 <[email protected]>
Acked-by: Tejun Heo <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Jens Axboe <[email protected]>
---
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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to