On Wed, Mar 27, 2019 at 1:41 PM Igor Konopko <igor.j.konopko@xxxxxxxxx> wrote: > > 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 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 splitted into two patches > Hi Igor, I ran the quick xfstests and generic/247 hangs with this patchset on qemu: FSTYP -- xfs (non-debug) PLATFORM -- Linux/x86_64 u1804-qatd 5.0.0-rc6_for-5.2/core_igor_v3 generic/247 95s ... <hang> Note: If i run it with Matias 5.2 core branch with my biovec fix, it completes successfully, but with this in dmesg: [ 358.028158] Page cache invalidation failure on direct I/O. Possible data corruption due to collision with buffered I/O! [ 358.030768] File: /mnt/247 PID: 4431 Comm: dd (I have not looked into that any further) Best regards, Hans > Igor Konopko (10): > lightnvm: pblk: IO path reorganization > lightnvm: pblk: simplify partial read path > 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: 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 | 8 +- > drivers/lightnvm/pblk-core.c | 179 +++++++++++++++++---- > drivers/lightnvm/pblk-gc.c | 5 +- > drivers/lightnvm/pblk-init.c | 37 +++-- > drivers/lightnvm/pblk-read.c | 336 +++++++++++---------------------------- > drivers/lightnvm/pblk-recovery.c | 69 ++++---- > drivers/lightnvm/pblk-rl.c | 3 +- > drivers/lightnvm/pblk.h | 31 ++-- > include/linux/lightnvm.h | 2 + > 10 files changed, 343 insertions(+), 346 deletions(-) > > -- > 2.9.5 >