diff mbox series

[BUGFIX,1/1] block, bfq: compile group put for oom queue only if BFQ_GROUP_IOSCHED is set

Message ID 20180110145856.4040-2-paolo.valente@linaro.org
State New
Headers show
Series bloc, bfq: fix of a bug introduced by my last patch | expand

Commit Message

Paolo Valente Jan. 10, 2018, 2:58 p.m. UTC
Commit ("block, bfq: release oom-queue ref to root group on exit")
added a missing put of the root bfq group for the oom queue. That put
has to be, and can be, performed only if CONFIG_BFQ_GROUP_IOSCHED is
defined: the function doing the put is even not defined at all if
CONFIG_BFQ_GROUP_IOSCHED is not defined. But that commit makes that
put be invoked regardless of whether CONFIG_BFQ_GROUP_IOSCHED is
defined. This commit fixes this mistake, by making that invocation be
compiled only if CONFIG_BFQ_GROUP_IOSCHED is actually defined.

Fixes ("block, bfq: release oom-queue ref to root group on exit")
Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>

---
 block/bfq-iosched.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.15.1

Comments

Jens Axboe Jan. 10, 2018, 3:23 p.m. UTC | #1
On 1/10/18 7:58 AM, Paolo Valente wrote:
> Commit ("block, bfq: release oom-queue ref to root group on exit")

> added a missing put of the root bfq group for the oom queue. That put

> has to be, and can be, performed only if CONFIG_BFQ_GROUP_IOSCHED is

> defined: the function doing the put is even not defined at all if

> CONFIG_BFQ_GROUP_IOSCHED is not defined. But that commit makes that

> put be invoked regardless of whether CONFIG_BFQ_GROUP_IOSCHED is

> defined. This commit fixes this mistake, by making that invocation be

> compiled only if CONFIG_BFQ_GROUP_IOSCHED is actually defined.


I already fixed that up yesterday:

http://git.kernel.dk/cgit/linux-block/commit/?h=for-4.16/block&id=8abef10b3de1144cfe968f454946f13eb1ac3d0a

-- 
Jens Axboe
diff mbox series

Patch

diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index c56a495af2e8..93a97a7fe519 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -5015,10 +5015,9 @@  static void bfq_exit_queue(struct elevator_queue *e)
 
 	hrtimer_cancel(&bfqd->idle_slice_timer);
 
+#ifdef CONFIG_BFQ_GROUP_IOSCHED
 	/* release oom-queue reference to root group */
 	bfqg_and_blkg_put(bfqd->root_group);
-
-#ifdef CONFIG_BFQ_GROUP_IOSCHED
 	blkcg_deactivate_policy(bfqd->queue, &blkcg_policy_bfq);
 #else
 	spin_lock_irq(&bfqd->lock);