This is another set of fixes and improvements to both pblk and lightnvm core. First & second patches are the most crutial, since they changes the approach to the partial read path, so detailed review is needed especially here. Other patches are my other findings related to some bugs or potential improvements, mostly related to some corner cases. Changes v3 -> v4: -dropped patches which were already pulled into for-5.2/core branch -major changes for patch #2 based on code review -patch #6 modified to use krefs -new patch #7 which extends the patch #6 Changes v2 -> v3: -dropped some not needed patches -dropped patches which were already pulled into for-5.2/core branch -commit messages cleanup Changes v1 -> v2: -dropped some not needed patches -review feedback incorporated for some of the patches -partial read path changes patch splited into two patches Igor Konopko (7): lightnvm: pblk: IO path reorganization lightnvm: pblk: simplify partial read path lightnvm: pblk: recover only written metadata lightnvm: pblk: store multiple copies of smeta lightnvm: pblk: use nvm_rq_to_ppa_list() lightnvm: track inflight target creations lightnvm: do not remove instance under global lock drivers/lightnvm/core.c | 75 +++++--- drivers/lightnvm/pblk-cache.c | 8 +- drivers/lightnvm/pblk-core.c | 159 +++++++++++++---- drivers/lightnvm/pblk-init.c | 37 ++-- drivers/lightnvm/pblk-rb.c | 11 +- drivers/lightnvm/pblk-read.c | 376 +++++++++++---------------------------- drivers/lightnvm/pblk-recovery.c | 35 ++-- drivers/lightnvm/pblk-rl.c | 3 +- drivers/lightnvm/pblk.h | 23 +-- include/linux/lightnvm.h | 1 + 10 files changed, 333 insertions(+), 395 deletions(-) -- 2.9.5