]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
blk-mq: Add locking annotations to hctx_lock() and hctx_unlock()
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 10 Jan 2018 19:34:27 +0000 (11:34 -0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 10 Jan 2018 19:36:02 +0000 (12:36 -0700)
This patch avoids that sparse reports the following:

block/blk-mq.c:637:33: warning: context imbalance in 'hctx_unlock' - unexpected unlock
block/blk-mq.c:642:9: warning: context imbalance in 'hctx_lock' - wrong count at exit

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c

index 435a5a0d441f2fb4702468c98faf8a0c85087b9f..8000ba6db07dcaaff0376ca5d003a50e0f2a8810 100644 (file)
@@ -559,6 +559,7 @@ static void __blk_mq_complete_request(struct request *rq)
 }
 
 static void hctx_unlock(struct blk_mq_hw_ctx *hctx, int srcu_idx)
+       __releases(hctx->srcu)
 {
        if (!(hctx->flags & BLK_MQ_F_BLOCKING))
                rcu_read_unlock();
@@ -567,6 +568,7 @@ static void hctx_unlock(struct blk_mq_hw_ctx *hctx, int srcu_idx)
 }
 
 static void hctx_lock(struct blk_mq_hw_ctx *hctx, int *srcu_idx)
+       __acquires(hctx->srcu)
 {
        if (!(hctx->flags & BLK_MQ_F_BLOCKING)) {
                /* shut up gcc false positive */