From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755161AbbHQOqM (ORCPT ); Mon, 17 Aug 2015 10:46:12 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:33283 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751083AbbHQOqK (ORCPT ); Mon, 17 Aug 2015 10:46:10 -0400 From: Akinobu Mita To: linux-kernel@vger.kernel.org Cc: Akinobu Mita , Tejun Heo , Jens Axboe Subject: [PATCH] writeback: account BDI's min_ratio for unregistered device Date: Mon, 17 Aug 2015 23:45:53 +0900 Message-Id: <1439822753-10575-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 Cc: Tejun Heo Cc: Jens Axboe --- mm/backing-dev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 42e0a63..92eefe3 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