提交 2b920b89 编写于 作者: M Ming Lei 提交者: Yang Yingliang

block: add helper for checking if queue is registered

mainline inclusion
from mainline-5.4-rc1
commit 58c898ba
category: bugfix
bugzilla: 21614
CVE: NA

---------------------------

There are 4 users which check if queue is registered, so add one helper
to check it.

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: NBart Van Assche <bvanassche@acm.org>
Signed-off-by: NMing Lei <ming.lei@redhat.com>
Signed-off-by: NJens Axboe <axboe@kernel.dk>
Reviewed-by: NYufen Yu <yuyufen@huawei.com>

Conflicts:
  block/blk-sysfs.c
  block/blk-wbt.c
Signed-off-by: NYu Kuai <yukuai3@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 287958ca
...@@ -897,7 +897,7 @@ int blk_register_queue(struct gendisk *disk) ...@@ -897,7 +897,7 @@ int blk_register_queue(struct gendisk *disk)
if (WARN_ON(!q)) if (WARN_ON(!q))
return -ENXIO; return -ENXIO;
WARN_ONCE(test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags), WARN_ONCE(blk_queue_registered(q),
"%s is registering an already registered queue\n", "%s is registering an already registered queue\n",
kobject_name(&dev->kobj)); kobject_name(&dev->kobj));
queue_flag_set_unlocked(QUEUE_FLAG_REGISTERED, q); queue_flag_set_unlocked(QUEUE_FLAG_REGISTERED, q);
...@@ -974,7 +974,7 @@ void blk_unregister_queue(struct gendisk *disk) ...@@ -974,7 +974,7 @@ void blk_unregister_queue(struct gendisk *disk)
return; return;
/* Return early if disk->queue was never registered. */ /* Return early if disk->queue was never registered. */
if (!test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags)) if (!blk_queue_registered(q))
return; return;
/* /*
......
...@@ -704,7 +704,7 @@ void wbt_enable_default(struct request_queue *q) ...@@ -704,7 +704,7 @@ void wbt_enable_default(struct request_queue *q)
return; return;
/* Queue not registered? Maybe shutting down... */ /* Queue not registered? Maybe shutting down... */
if (!test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags)) if (!blk_queue_registered(q))
return; return;
if ((q->mq_ops && IS_ENABLED(CONFIG_BLK_WBT_MQ)) || if ((q->mq_ops && IS_ENABLED(CONFIG_BLK_WBT_MQ)) ||
......
...@@ -1087,7 +1087,7 @@ static int __elevator_change(struct request_queue *q, const char *name) ...@@ -1087,7 +1087,7 @@ static int __elevator_change(struct request_queue *q, const char *name)
struct elevator_type *e; struct elevator_type *e;
/* Make sure queue is not in the middle of being removed */ /* Make sure queue is not in the middle of being removed */
if (!test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags)) if (!blk_queue_registered(q))
return -ENOENT; return -ENOENT;
/* /*
......
...@@ -771,6 +771,7 @@ bool blk_queue_flag_test_and_clear(unsigned int flag, struct request_queue *q); ...@@ -771,6 +771,7 @@ bool blk_queue_flag_test_and_clear(unsigned int flag, struct request_queue *q);
#define blk_queue_quiesced(q) test_bit(QUEUE_FLAG_QUIESCED, &(q)->queue_flags) #define blk_queue_quiesced(q) test_bit(QUEUE_FLAG_QUIESCED, &(q)->queue_flags)
#define blk_queue_pm_only(q) atomic_read(&(q)->pm_only) #define blk_queue_pm_only(q) atomic_read(&(q)->pm_only)
#define blk_queue_fua(q) test_bit(QUEUE_FLAG_FUA, &(q)->queue_flags) #define blk_queue_fua(q) test_bit(QUEUE_FLAG_FUA, &(q)->queue_flags)
#define blk_queue_registered(q) test_bit(QUEUE_FLAG_REGISTERED, &(q)->queue_flags)
extern void blk_set_pm_only(struct request_queue *q); extern void blk_set_pm_only(struct request_queue *q);
extern void blk_clear_pm_only(struct request_queue *q); extern void blk_clear_pm_only(struct request_queue *q);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册