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>
This commit is contained in:
Chaitanya Kulkarni 2025-11-08 23:44:26 -08:00 committed by Jens Axboe
parent 1649714b93
commit 86afb1cdc2
1 changed files with 2 additions and 0 deletions

View File

@ -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;