diff options
author | Paolo Valente <paolo.valente@linaro.org> | 2020-02-03 11:40:59 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-02-03 14:58:15 +0100 |
commit | db37a34c563bf4692b36990ae89005c031385e52 (patch) | |
tree | cf3b9bf508cb90dc60cfed10d4c27600c218e556 /block/bfq-cgroup.c | |
parent | block, bfq: remove ifdefs from around gets/puts of bfq groups (diff) | |
download | linux-db37a34c563bf4692b36990ae89005c031385e52.tar.xz linux-db37a34c563bf4692b36990ae89005c031385e52.zip |
block, bfq: get a ref to a group when adding it to a service tree
BFQ schedules generic entities, which may represent either bfq_queues
or groups of bfq_queues. When an entity is inserted into a service
tree, a reference must be taken, to make sure that the entity does not
disappear while still referred in the tree. Unfortunately, such a
reference is mistakenly taken only if the entity represents a
bfq_queue. This commit takes a reference also in case the entity
represents a group.
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Tested-by: Chris Evich <cevich@redhat.com>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bfq-cgroup.c')
-rw-r--r-- | block/bfq-cgroup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c index cae488b58049..09b69a3ed490 100644 --- a/block/bfq-cgroup.c +++ b/block/bfq-cgroup.c @@ -332,7 +332,7 @@ static void bfqg_put(struct bfq_group *bfqg) kfree(bfqg); } -static void bfqg_and_blkg_get(struct bfq_group *bfqg) +void bfqg_and_blkg_get(struct bfq_group *bfqg) { /* see comments in bfq_bic_update_cgroup for why refcounting bfqg */ bfqg_get(bfqg); |