• Bart Van Assche's avatar
    skd: Convert to blk-mq · ca33dd92
    Bart Van Assche authored
    Introduce a tag set and a blk_mq_ops structure. Set .cmd_size such
    that struct request and struct skd_request_context are allocated
    through a single allocation. Remove the skd_request_context.req
    pointer. Make queue starting asynchronous such that this can occur
    safely from interrupt context. Use locking to protect skdev->skmsg
    and *skdev->skmsg against concurrent access from concurrent
    .queue_rq() calls. Introduce the functions skd_init_request() and
    skd_exit_request() to set up / clean up the per-request S/G-list.
    Signed-off-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Hannes Reinecke <hare@suse.de>
    Cc: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    ca33dd92
skd_main.c 94.3 KB