]> git.proxmox.com Git - mirror_ubuntu-zesty-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)
committerTim Gardner <tim.gardner@canonical.com>
Mon, 29 Feb 2016 15:58:29 +0000 (08:58 -0700)
commit00728df6adf4de747df25e2cfc9f9b39cc9c9d1d
treec39e4603285e3a056474d1e3374951ce10d18ace
parent42102ee9e596450cb2830179f286527578ecc3a0
lightnvm: refactor end_io functions for sync

BugLink: http://bugs.launchpad.net/bugs/1531539
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>
(cherry picked from commit 91276162de9476b8ff32d9452e849210e5dd09e9)
Signed-off-by: Tim Gardner <tim.gardner@canonical.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