]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
block: add helper for checking if queue is registered
authorMing Lei <ming.lei@redhat.com>
Tue, 27 Aug 2019 11:01:47 +0000 (19:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 08:39:29 +0000 (09:39 +0100)
commit 58c898ba370e68d39470cd0d932b524682c1f9be upstream.

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: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/blk-sysfs.c
block/blk-wbt.c
block/elevator.c
include/linux/blkdev.h

index 8286640d4d663fe51a207421f5a4190ee2d9bfb8..0a7636d2456301684d1040ecf937ccb33ed99e35 100644 (file)
@@ -896,7 +896,7 @@ int blk_register_queue(struct gendisk *disk)
        if (WARN_ON(!q))
                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",
                  kobject_name(&dev->kobj));
        queue_flag_set_unlocked(QUEUE_FLAG_REGISTERED, q);
@@ -973,7 +973,7 @@ void blk_unregister_queue(struct gendisk *disk)
                return;
 
        /* Return early if disk->queue was never registered. */
-       if (!test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags))
+       if (!blk_queue_registered(q))
                return;
 
        /*
index f1de8ba483a978bd40b4fa1de8af56313e8ab52f..50f2abfa1a60eb1651809a0a8c9c7ebba1eb4de1 100644 (file)
@@ -708,7 +708,7 @@ void wbt_enable_default(struct request_queue *q)
                return;
 
        /* Queue not registered? Maybe shutting down... */
-       if (!test_bit(QUEUE_FLAG_REGISTERED, &q->queue_flags))
+       if (!blk_queue_registered(q))
                return;
 
        if ((q->mq_ops && IS_ENABLED(CONFIG_BLK_WBT_MQ)) ||
index ddbcd36616a8dd1b1d4a0d2e380ba7261f585d9a..9bffe45589291703f552c56063f27b9ff1bb30a6 100644 (file)
@@ -1083,7 +1083,7 @@ static int __elevator_change(struct request_queue *q, const char *name)
        struct elevator_type *e;
 
        /* 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;
 
        /*
index 745b2d0dcf78cac355484512c11223119b009ba2..3a2b34c2c82bb18ef4a9c09bc3add652b6fff63a 100644 (file)
@@ -743,6 +743,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_pm_only(q)   atomic_read(&(q)->pm_only)
 #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_clear_pm_only(struct request_queue *q);