• Luis Chamberlain's avatar
    floppy: fix add_disk() assumption on exit due to new developments · 2598a2bb
    Luis Chamberlain authored
    
    
    After the patch titled "floppy: use blk_mq_alloc_disk and
    blk_cleanup_disk" the floppy driver was modified to allocate
    the blk_mq_alloc_disk() which allocates the disk with the
    queue. This is further clarified later with the patch titled
    "block: remove alloc_disk and alloc_disk_node". This clarifies
    that:
    
       Most drivers should use and have been converted to use
       blk_alloc_disk and blk_mq_alloc_disk.  Only the scsi
       ULPs and dasd still allocate a disk separately from the
       request_queue so don't bother with convenience macros for
       something that should not see significant new users and
       remove these wrappers.
    
    And then we have the patch titled, "block: hold a request_queue
    reference for the lifetime of struct gendisk" which ensures
    that a queue is *always* present for sure during the entire
    lifetime of a disk.
    
    In the floppy driver's case then the disk always comes with the
    queue. So even if even if the queue was cleaned up on exit, putting
    the disk *is* still required, and likewise, blk_cleanup_queue() on
    a null queue should not happen now as disk->queue is valid from
    disk allocation time on.
    
    Automatic backport code scrapers should hopefully not cherry pick
    this patch as a stable fix candidate without full due dilligence to
    ensure all the work done on the block layer to make this happen is
    merged first.
    Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    Link: https://lore.kernel.org/r/20210927220302.1073499-3-mcgrof@kernel.org
    
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    2598a2bb
floppy.c 133 KB