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>
Showing
- drivers/block/null_blk.c 1 addition, 2 deletionsdrivers/block/null_blk.c
- drivers/lightnvm/core.c 16 additions, 0 deletionsdrivers/lightnvm/core.c
- drivers/lightnvm/gennvm.c 14 additions, 20 deletionsdrivers/lightnvm/gennvm.c
- drivers/lightnvm/rrpc.c 2 additions, 4 deletionsdrivers/lightnvm/rrpc.c
- drivers/nvme/host/lightnvm.c 1 addition, 4 deletionsdrivers/nvme/host/lightnvm.c
- include/linux/lightnvm.h 8 additions, 4 deletionsinclude/linux/lightnvm.h
Loading
Please register or sign in to comment