From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755265AbbIHPyI (ORCPT ); Tue, 8 Sep 2015 11:54:08 -0400 Received: from mail-pa0-f43.google.com ([209.85.220.43]:34508 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754836AbbIHPyG (ORCPT ); Tue, 8 Sep 2015 11:54:06 -0400 From: Akinobu Mita To: linux-kernel@vger.kernel.org Cc: Akinobu Mita , Tejun Heo , Jens Axboe Subject: [PATCH RESEND] writeback: account BDI's min_ratio for unregistered device Date: Wed, 9 Sep 2015 00:53:31 +0900 Message-Id: <1441727611-3864-1-git-send-email-akinobu.mita@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >>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 Acked-by: Tejun Heo Cc: Tejun Heo Cc: Jens Axboe --- 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