Commit 8bcb6c7d authored by Andi Kleen's avatar Andi Kleen Committed by Jens Axboe

block: use lockdep_assert_held for queue locking

Instead of an ugly open coded variant.

Cc: axboe@kernel.dk
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 00380a40
...@@ -1218,7 +1218,7 @@ void blk_throtl_drain(struct request_queue *q) ...@@ -1218,7 +1218,7 @@ void blk_throtl_drain(struct request_queue *q)
struct bio_list bl; struct bio_list bl;
struct bio *bio; struct bio *bio;
WARN_ON_ONCE(!queue_is_locked(q)); queue_lockdep_assert_held(q);
bio_list_init(&bl); bio_list_init(&bl);
......
...@@ -426,14 +426,10 @@ struct request_queue { ...@@ -426,14 +426,10 @@ struct request_queue {
(1 << QUEUE_FLAG_SAME_COMP) | \ (1 << QUEUE_FLAG_SAME_COMP) | \
(1 << QUEUE_FLAG_ADD_RANDOM)) (1 << QUEUE_FLAG_ADD_RANDOM))
static inline int queue_is_locked(struct request_queue *q) static inline void queue_lockdep_assert_held(struct request_queue *q)
{ {
#ifdef CONFIG_SMP if (q->queue_lock)
spinlock_t *lock = q->queue_lock; lockdep_assert_held(q->queue_lock);
return lock && spin_is_locked(lock);
#else
return 1;
#endif
} }
static inline void queue_flag_set_unlocked(unsigned int flag, static inline void queue_flag_set_unlocked(unsigned int flag,
...@@ -445,7 +441,7 @@ static inline void queue_flag_set_unlocked(unsigned int flag, ...@@ -445,7 +441,7 @@ static inline void queue_flag_set_unlocked(unsigned int flag,
static inline int queue_flag_test_and_clear(unsigned int flag, static inline int queue_flag_test_and_clear(unsigned int flag,
struct request_queue *q) struct request_queue *q)
{ {
WARN_ON_ONCE(!queue_is_locked(q)); queue_lockdep_assert_held(q);
if (test_bit(flag, &q->queue_flags)) { if (test_bit(flag, &q->queue_flags)) {
__clear_bit(flag, &q->queue_flags); __clear_bit(flag, &q->queue_flags);
...@@ -458,7 +454,7 @@ static inline int queue_flag_test_and_clear(unsigned int flag, ...@@ -458,7 +454,7 @@ static inline int queue_flag_test_and_clear(unsigned int flag,
static inline int queue_flag_test_and_set(unsigned int flag, static inline int queue_flag_test_and_set(unsigned int flag,
struct request_queue *q) struct request_queue *q)
{ {
WARN_ON_ONCE(!queue_is_locked(q)); queue_lockdep_assert_held(q);
if (!test_bit(flag, &q->queue_flags)) { if (!test_bit(flag, &q->queue_flags)) {
__set_bit(flag, &q->queue_flags); __set_bit(flag, &q->queue_flags);
...@@ -470,7 +466,7 @@ static inline int queue_flag_test_and_set(unsigned int flag, ...@@ -470,7 +466,7 @@ static inline int queue_flag_test_and_set(unsigned int flag,
static inline void queue_flag_set(unsigned int flag, struct request_queue *q) static inline void queue_flag_set(unsigned int flag, struct request_queue *q)
{ {
WARN_ON_ONCE(!queue_is_locked(q)); queue_lockdep_assert_held(q);
__set_bit(flag, &q->queue_flags); __set_bit(flag, &q->queue_flags);
} }
...@@ -487,7 +483,7 @@ static inline int queue_in_flight(struct request_queue *q) ...@@ -487,7 +483,7 @@ static inline int queue_in_flight(struct request_queue *q)
static inline void queue_flag_clear(unsigned int flag, struct request_queue *q) static inline void queue_flag_clear(unsigned int flag, struct request_queue *q)
{ {
WARN_ON_ONCE(!queue_is_locked(q)); queue_lockdep_assert_held(q);
__clear_bit(flag, &q->queue_flags); __clear_bit(flag, &q->queue_flags);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment