blkcg: put back rcu lock in blkcg_bio_issue_check()
authorDennis Zhou <dennis@kernel.org>
Thu, 6 Dec 2018 17:49:38 +0000 (12:49 -0500)
committerJens Axboe <axboe@kernel.dk>
Sat, 8 Dec 2018 05:26:38 +0000 (22:26 -0700)
I was a little overzealous in removing the rcu_read_lock() call from
blkcg_bio_issue_check() and it broke blk-throttle. Put it back.

Fixes: e35403a034bf ("blkcg: associate blkg when associating a device")
Signed-off-by: Dennis Zhou <dennis@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/blk-cgroup.h

index 752de1becb5ced1a916cf8fc553882764e97bc3d..bf13ecb0fe4f67189af465751cca98a441463f15 100644 (file)
@@ -764,6 +764,8 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q,
        struct blkcg_gq *blkg;
        bool throtl = false;
 
+       rcu_read_lock();
+
        if (!bio->bi_blkg) {
                char b[BDEVNAME_SIZE];
 
@@ -791,6 +793,7 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q,
 
        blkcg_bio_issue_init(bio);
 
+       rcu_read_unlock();
        return !throtl;
 }