This is another set of fixes and improvements to both pblk and lightnvm core. First patch is the leftover from previous patchset, since we decided to reorganize it a little. Second & third patches are the most crutial, since they changes the approach to 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 v1 -> v2: -dropped some not needed patches -review feedback incorporated for some of the patches -partial read path changes patch splitted into two patches Igor Konopko (16): lightnvm: pblk: warn when there are opened chunks lightnvm: pblk: IO path reorganization lightnvm: pblk: simplify partial read path lightnvm: pblk: OOB recovery for closed chunks fix lightnvm: pblk: propagate errors when reading meta lightnvm: pblk: recover only written metadata lightnvm: pblk: wait for inflight IOs in recovery lightnvm: pblk: remove internal IO timeout lightnvm: pblk: fix spin_unlock order lightnvm: pblk: kick writer on write recovery path lightnvm: pblk: fix update line wp in OOB recovery lightnvm: pblk: do not read OOB from emeta region lightnvm: pblk: store multiple copies of smeta lightnvm: pblk: GC error handling lightnvm: pblk: use nvm_rq_to_ppa_list() lightnvm: track inflight target creations drivers/lightnvm/core.c | 19 ++- drivers/lightnvm/pblk-cache.c | 7 +- drivers/lightnvm/pblk-core.c | 179 +++++++++++++++++---- drivers/lightnvm/pblk-gc.c | 5 +- drivers/lightnvm/pblk-init.c | 59 ++++--- drivers/lightnvm/pblk-rb.c | 2 +- drivers/lightnvm/pblk-read.c | 336 +++++++++++---------------------------- drivers/lightnvm/pblk-recovery.c | 103 ++++++++---- drivers/lightnvm/pblk-rl.c | 3 +- drivers/lightnvm/pblk-write.c | 1 + drivers/lightnvm/pblk.h | 31 ++-- include/linux/lightnvm.h | 2 + 12 files changed, 391 insertions(+), 356 deletions(-) -- 2.9.5