block: remove a bogus warning in __submit_bio_noacct_mq
authorChristoph Hellwig <hch@lst.de>
Tue, 7 Jul 2020 17:45:03 +0000 (19:45 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 7 Jul 2020 17:45:59 +0000 (11:45 -0600)
If blk_mq_submit_bio flushes the plug list, bios for other disks can
show up on current->bio_list.  As that doesn't involve any stacking of
block device it is entirely harmless and we should not warn about
this case.

Fixes: ff93ea0ce763 ("block: shortcut __submit_bio_noacct for blk-mq drivers")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c

index 9f1bf86..93104c7 100644 (file)
@@ -1154,14 +1154,13 @@ static blk_qc_t __submit_bio_noacct(struct bio *bio)
 
 static blk_qc_t __submit_bio_noacct_mq(struct bio *bio)
 {
-       struct gendisk *disk = bio->bi_disk;
        struct bio_list bio_list[2] = { };
        blk_qc_t ret = BLK_QC_T_NONE;
 
        current->bio_list = bio_list;
 
        do {
-               WARN_ON_ONCE(bio->bi_disk != disk);
+               struct gendisk *disk = bio->bi_disk;
 
                if (unlikely(bio_queue_enter(bio) != 0))
                        continue;