From: Greg Kroah-Hartman Date: Sun, 12 Dec 2021 12:16:58 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.4.295~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=703d1b1df8c365950ed947693d2bbf31b2d2474b;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: mm-bdi-initialize-bdi_min_ratio-when-bdi-is-unregistered.patch --- diff --git a/queue-4.19/mm-bdi-initialize-bdi_min_ratio-when-bdi-is-unregistered.patch b/queue-4.19/mm-bdi-initialize-bdi_min_ratio-when-bdi-is-unregistered.patch new file mode 100644 index 00000000000..825f7941c52 --- /dev/null +++ b/queue-4.19/mm-bdi-initialize-bdi_min_ratio-when-bdi-is-unregistered.patch @@ -0,0 +1,61 @@ +From 3c376dfafbf7a8ea0dea212d095ddd83e93280bb Mon Sep 17 00:00:00 2001 +From: Manjong Lee +Date: Fri, 10 Dec 2021 14:47:11 -0800 +Subject: mm: bdi: initialize bdi_min_ratio when bdi is unregistered + +From: Manjong Lee + +commit 3c376dfafbf7a8ea0dea212d095ddd83e93280bb upstream. + +Initialize min_ratio if it is set during bdi unregistration. This can +prevent problems that may occur a when bdi is removed without resetting +min_ratio. + +For example. +1) insert external sdcard +2) set external sdcard's min_ratio 70 +3) remove external sdcard without setting min_ratio 0 +4) insert external sdcard +5) set external sdcard's min_ratio 70 << error occur(can't set) + +Because when an sdcard is removed, the present bdi_min_ratio value will +remain. Currently, the only way to reset bdi_min_ratio is to reboot. + +[akpm@linux-foundation.org: tweak comment and coding style] + +Link: https://lkml.kernel.org/r/20211021161942.5983-1-mj0123.lee@samsung.com +Signed-off-by: Manjong Lee +Acked-by: Peter Zijlstra (Intel) +Cc: Changheun Lee +Cc: Jens Axboe +Cc: Christoph Hellwig +Cc: Matthew Wilcox +Cc: +Cc: +Cc: +Cc: +Cc: +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + mm/backing-dev.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/mm/backing-dev.c ++++ b/mm/backing-dev.c +@@ -946,6 +946,13 @@ void bdi_unregister(struct backing_dev_i + wb_shutdown(&bdi->wb); + cgwb_bdi_unregister(bdi); + ++ /* ++ * If this BDI's min ratio has been set, use bdi_set_min_ratio() to ++ * update the global bdi_min_ratio. ++ */ ++ if (bdi->min_ratio) ++ bdi_set_min_ratio(bdi, 0); ++ + if (bdi->dev) { + bdi_debug_unregister(bdi); + device_unregister(bdi->dev); diff --git a/queue-4.19/series b/queue-4.19/series index e140b37905f..8c5afc6cac4 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -20,3 +20,4 @@ nfp-fix-memory-leak-in-nfp_cpp_area_cache_add.patch seg6-fix-the-iif-in-the-ipv6-socket-control-block.patch udp-using-datalen-to-cap-max-gso-segments.patch ib-hfi1-correct-guard-on-eager-buffer-deallocation.patch +mm-bdi-initialize-bdi_min_ratio-when-bdi-is-unregistered.patch