• Mike Snitzer's avatar
    block: allow initialization of previously allocated request_queue · 01effb0d
    Mike Snitzer authored
    blk_init_queue() allocates the request_queue structure and then
    initializes it as needed (request_fn, elevator, etc).
    
    Split initialization out to blk_init_allocated_queue_node.
    Introduce blk_init_allocated_queue wrapper function to model existing
    blk_init_queue and blk_init_queue_node interfaces.
    
    Export elv_register_queue to allow a newly added elevator to be
    registered with sysfs.  Export elv_unregister_queue for symmetry.
    
    These changes allow DM to initialize a device's request_queue with more
    precision.  In particular, DM no longer unconditionally initializes a
    full request_queue (elevator et al).  It only does so for a
    request-based DM device.
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    01effb0d
elevator.c 24.8 KB