blk-mq: avoid a mess of casts for blk_end_sync_rq
authorChristoph Hellwig <hch@lst.de>
Tue, 24 May 2022 12:15:29 +0000 (14:15 +0200)
committerJens Axboe <axboe@kernel.dk>
Sat, 28 May 2022 12:15:27 +0000 (06:15 -0600)
commit32ac5a9b8bc511edcd81f03c3e21753789475709
treefd8895fa48e7b7904a04310077538fbffaf1fde0
parentae948fd6d02930a7e8e7c492d9627dfef18e7d7f
blk-mq: avoid a mess of casts for blk_end_sync_rq

Instead of trying to cast a __bitwise 32-bit integer to a larger integer
and then a pointer, just allow a struct with the blk_status_t and the
completion on stack and set the end_io_data to that.  Use the
opportunity to move the code to where it belongs and drop rather
confusing comments.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/20220524121530.943123-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c