diff options
| author | Chaitanya Kulkarni <ckulkarnilinux@gmail.com> | 2025-11-08 23:44:26 -0800 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-11-11 07:51:08 -0700 |
| commit | 86afb1cdc28f4332c6e0a1937244e0a80d4d63b1 (patch) | |
| tree | 4ab3421c54f5f1e7f6894b4a727cfd700e2d8836 | |
| parent | 1649714b930f9ea6233ce0810ba885999da3b5d4 (diff) | |
| download | linux-next-86afb1cdc28f4332c6e0a1937244e0a80d4d63b1.tar.gz linux-next-86afb1cdc28f4332c6e0a1937244e0a80d4d63b1.zip | |
block: add lockdep to queue_limits_commit_update()
queue_limits_commit_update() expects q->limits_lock to be held by
the caller (via queue_limits_start_update()).
The API pattern is:
lim = queue_limits_start_update(q); /* acquires lock */
/* modify lim */
queue_limits_commit_update(q, &lim); /* releases lock */
OR
queue_limits_commit_update_frozen(q, &lim);
lim = queue_limits_start_update(q); /* acquires lock */
queue_limits_commit_update(q, &lim); /* releases lock */
Add lockdep_assert_held() to report incorrect API usage.
Signed-off-by: Chaitanya Kulkarni <ckulkarnilinux@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | block/blk-settings.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c index e0d0b035f39d..b38e94c85402 100644 --- a/block/blk-settings.c +++ b/block/blk-settings.c @@ -546,6 +546,8 @@ int queue_limits_commit_update(struct request_queue *q, { int error; + lockdep_assert_held(&q->limits_lock); + error = blk_validate_limits(lim); if (error) goto out_unlock; |
