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 <[email protected]>
---
include/linux/blk-cgroup.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h
index 752de1becb5c..bf13ecb0fe4f 100644
--- a/include/linux/blk-cgroup.h
+++ b/include/linux/blk-cgroup.h
@@ -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;
}
--
2.17.1
On 12/6/18 10:49 AM, Dennis Zhou wrote:
> 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.
Applied, thanks Dennis.
--
Jens Axboe