block: remove the lock argument to blk_alloc_queue_node
authorChristoph Hellwig <hch@lst.de>
Wed, 14 Nov 2018 16:02:18 +0000 (17:02 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 15 Nov 2018 19:13:35 +0000 (12:13 -0700)
With the legacy request path gone there is no real need to override the
queue_lock.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-mq.c
drivers/block/drbd/drbd_main.c
drivers/block/null_blk_main.c
drivers/block/umem.c
drivers/lightnvm/core.c
drivers/md/dm.c
drivers/nvdimm/pmem.c
drivers/nvme/host/multipath.c
include/linux/blkdev.h

index 5c8e66a09d8216dfbe44275727581f554461b0e6..3f94c9de02529e3d6c5c839848961752c45ee124 100644 (file)
@@ -393,7 +393,7 @@ EXPORT_SYMBOL(blk_cleanup_queue);
 
 struct request_queue *blk_alloc_queue(gfp_t gfp_mask)
 {
-       return blk_alloc_queue_node(gfp_mask, NUMA_NO_NODE, NULL);
+       return blk_alloc_queue_node(gfp_mask, NUMA_NO_NODE);
 }
 EXPORT_SYMBOL(blk_alloc_queue);
 
@@ -473,17 +473,8 @@ static void blk_rq_timed_out_timer(struct timer_list *t)
  * blk_alloc_queue_node - allocate a request queue
  * @gfp_mask: memory allocation flags
  * @node_id: NUMA node to allocate memory from
- * @lock: For legacy queues, pointer to a spinlock that will be used to e.g.
- *        serialize calls to the legacy .request_fn() callback. Ignored for
- *       blk-mq request queues.
- *
- * Note: pass the queue lock as the third argument to this function instead of
- * setting the queue lock pointer explicitly to avoid triggering a sporadic
- * crash in the blkcg code. This function namely calls blkcg_init_queue() and
- * the queue lock pointer must be set before blkcg_init_queue() is called.
  */
-struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id,
-                                          spinlock_t *lock)
+struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
 {
        struct request_queue *q;
        int ret;
@@ -534,8 +525,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id,
 #endif
        mutex_init(&q->sysfs_lock);
        spin_lock_init(&q->__queue_lock);
-
-       q->queue_lock = lock ? : &q->__queue_lock;
+       q->queue_lock = &q->__queue_lock;
 
        init_waitqueue_head(&q->mq_freeze_wq);
 
index a3f057fdd0457687948dafbd7a190fba826695e1..3b823891b3ef86ebe8b1c4d501b7ed7fd18a6c67 100644 (file)
@@ -2548,7 +2548,7 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
 {
        struct request_queue *uninit_q, *q;
 
-       uninit_q = blk_alloc_queue_node(GFP_KERNEL, set->numa_node, NULL);
+       uninit_q = blk_alloc_queue_node(GFP_KERNEL, set->numa_node);
        if (!uninit_q)
                return ERR_PTR(-ENOMEM);
 
index b66c59ce626042f8c1ba8ff99db0d3d95c40d641..f973a2a845c885f460c75bcc92f8cf770ffc903f 100644 (file)
@@ -2792,7 +2792,7 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsig
 
        drbd_init_set_defaults(device);
 
-       q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE, NULL);
+       q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE);
        if (!q)
                goto out_no_q;
        device->rq_queue = q;
index 63c23fcfc4df844ac0391a402287ba9c2cd7dc9a..62c9654b9ce88a3840369848c69349049b1275f9 100644 (file)
@@ -1659,8 +1659,7 @@ static int null_add_dev(struct nullb_device *dev)
                }
                null_init_queues(nullb);
        } else if (dev->queue_mode == NULL_Q_BIO) {
-               nullb->q = blk_alloc_queue_node(GFP_KERNEL, dev->home_node,
-                                               NULL);
+               nullb->q = blk_alloc_queue_node(GFP_KERNEL, dev->home_node);
                if (!nullb->q) {
                        rv = -ENOMEM;
                        goto out_cleanup_queues;
index 8a27b5adc2b38457f4ad427a2da6b9fed0135211..aa035cf8a51d316523ecfac421eb6fb633806d85 100644 (file)
@@ -888,7 +888,7 @@ static int mm_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
        card->biotail = &card->bio;
        spin_lock_init(&card->lock);
 
-       card->queue = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE, NULL);
+       card->queue = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE);
        if (!card->queue)
                goto failed_alloc;
 
index efb976a863d2295a77a47d32b699819a90f75dde..60ab11fcc81ce66f8051a15d5ee4500ecc3f549d 100644 (file)
@@ -389,7 +389,7 @@ static int nvm_create_tgt(struct nvm_dev *dev, struct nvm_ioctl_create *create)
                goto err_dev;
        }
 
-       tqueue = blk_alloc_queue_node(GFP_KERNEL, dev->q->node, NULL);
+       tqueue = blk_alloc_queue_node(GFP_KERNEL, dev->q->node);
        if (!tqueue) {
                ret = -ENOMEM;
                goto err_disk;
index c510179a7f845eb4f25e5818e39e54eb9afadcfb..a733e4c920afcaba7fb048e5054dcb4291cd7cee 100644 (file)
@@ -1896,7 +1896,7 @@ static struct mapped_device *alloc_dev(int minor)
        INIT_LIST_HEAD(&md->table_devices);
        spin_lock_init(&md->uevent_lock);
 
-       md->queue = blk_alloc_queue_node(GFP_KERNEL, numa_node_id, NULL);
+       md->queue = blk_alloc_queue_node(GFP_KERNEL, numa_node_id);
        if (!md->queue)
                goto bad;
        md->queue->queuedata = md;
index 0e39e3d1846fe07d7e77bdb2b25439d627b50ffb..f7019294740cf6ef2923c0b43e4048ee3a882546 100644 (file)
@@ -393,7 +393,7 @@ static int pmem_attach_disk(struct device *dev,
                return -EBUSY;
        }
 
-       q = blk_alloc_queue_node(GFP_KERNEL, dev_to_node(dev), NULL);
+       q = blk_alloc_queue_node(GFP_KERNEL, dev_to_node(dev));
        if (!q)
                return -ENOMEM;
 
index 5e3cc8c59a394fce6ba25f1c621b26903185963d..b82b0d3ca39a34273075e1ddadf62793d3f33dfe 100644 (file)
@@ -276,7 +276,7 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
        if (!(ctrl->subsys->cmic & (1 << 1)) || !multipath)
                return 0;
 
-       q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE, NULL);
+       q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE);
        if (!q)
                goto out;
        q->queuedata = head;
index 30d8e0fbd104461cce184f298d7c01705504318a..c4a3a660e3f043eb69d316e106d641f2798f1d31 100644 (file)
@@ -1122,8 +1122,7 @@ extern long nr_blockdev_pages(void);
 
 bool __must_check blk_get_queue(struct request_queue *);
 struct request_queue *blk_alloc_queue(gfp_t);
-struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id,
-                                          spinlock_t *lock);
+struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id);
 extern void blk_put_queue(struct request_queue *);
 extern void blk_set_queue_dying(struct request_queue *);