]> git.baikalelectronics.ru Git - kernel.git/commit
lightnvm: refactor end_io functions for sync
authorMatias Bjørling <m@bjorling.me>
Tue, 12 Jan 2016 06:49:21 +0000 (07:49 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 12 Jan 2016 15:21:16 +0000 (08:21 -0700)
commit7513c9968b6be7cc6802474d92ad54813c868d60
tree53337c60f7d863b1ab733f9bcd4964da818f9057
parent9f3f530d4f2eab332f8466e81b406e9c19018147
lightnvm: refactor end_io functions for sync

To implement sync I/O support within the LightNVM core, the end_io
functions are refactored to take an end_io function pointer instead of
testing for initialized media manager, followed by calling its end_io
function.

Sync I/O can then be implemented using a callback that signal I/O
completion. This is similar to the logic found in blk_to_execute_io().
By implementing it this way, the underlying device I/Os submission logic
is abstracted away from core, targets, and media managers.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/null_blk.c
drivers/lightnvm/core.c
drivers/lightnvm/gennvm.c
drivers/lightnvm/rrpc.c
drivers/nvme/host/lightnvm.c
include/linux/lightnvm.h