[GIT PULL 00/25] LightNVM updates for 4.16

From: Matias BjÃrling
Date: Fri Jan 05 2018 - 08:16:45 EST

Hi Jens,

Here is a couple of patches for 4.16.

This patchset prepares the lightnvm and pblk source code for the 2.0
specification release. The specification is close to its final
revision. After these changes, 2.0 support is a quick drop.

While adopting 2.0 specification, the rrpc and null_blk
implementation had to go. rrpc used the deprecated device-side
table mapping table API for the 1.2 specification, and there are
no users of it. Similarly, null_blk has not worked with pblk for
a while.

Javier and Hans have been hard at work at fixing up bugs in pblk,
especially concerning synchronization points between user I/O and GC
I/O. While also fixing bugs that occurred on bringup/bringdown.

They also added support for iostats and added an option to add
support for defining the amount of over-provisioning an instance
should have.

Please pull from the for-4.16/for-jens branch or apply the patches
posted with this patchset.

https://github.com/OpenChannelSSD/linux.git for-4.16/for-jens


Hans Holmberg (5):
lightnvm: pblk: refactor emeta consistency check
lightnvm: pblk: rename sync_point to flush_point
lightnvm: pblk: clear flush point on completed writes
lightnvm: pblk: prevent premature sync point resets
lightnvm: pblk: remove pblk_gc_stop

Javier GonzÃlez (13):
lightnvm: remove unnecessary field from nvm_rq
lightnvm: refactor target type lookup
lightnvm: guarantee target unique name across devs.
lightnvm: pblk: compress and reorder helper functions
lightnvm: pblk: remove pblk_for_each_lun helper
lightnvm: pblk: use exact free block counter in RL
lightnvm: set target over-provision on create ioctl
lightnvm: pblk: ignore high ecc errors on recovery
lightnvm: pblk: do not log recovery read errors
lightnvm: pblk: ensure kthread alloc. before kicking it
lightnvm: pblk: free write buffer on init failure
lightnvm: pblk: print instance name on instance info
lightnvm: pblk: add iostat support

Matias BjÃrling (7):
null_blk: remove lightnvm support
lightnvm: remove rrpc
lightnvm: use internal pblk methods
lightnvm: remove hybrid ocssd 1.2 support
lightnvm: remove lower page tables
lightnvm: make geometry structures 2.0 ready
lightnvm: pblk: refactor pblk_ppa_comp function

drivers/block/null_blk.c | 220 +-----
drivers/lightnvm/Kconfig | 7 -
drivers/lightnvm/Makefile | 1 -
drivers/lightnvm/core.c | 460 ++++-------
drivers/lightnvm/pblk-cache.c | 5 +
drivers/lightnvm/pblk-core.c | 55 +-
drivers/lightnvm/pblk-gc.c | 23 +-
drivers/lightnvm/pblk-init.c | 104 ++-
drivers/lightnvm/pblk-map.c | 2 +-
drivers/lightnvm/pblk-rb.c | 111 ++-
drivers/lightnvm/pblk-read.c | 35 +-
drivers/lightnvm/pblk-recovery.c | 43 +-
drivers/lightnvm/pblk-rl.c | 54 +-
drivers/lightnvm/pblk-sysfs.c | 15 +-
drivers/lightnvm/pblk-write.c | 23 +-
drivers/lightnvm/pblk.h | 165 ++--
drivers/lightnvm/rrpc.c | 1625 --------------------------------------
drivers/lightnvm/rrpc.h | 290 -------
drivers/nvme/host/lightnvm.c | 173 +---
include/linux/lightnvm.h | 125 +--
include/uapi/linux/lightnvm.h | 9 +
21 files changed, 595 insertions(+), 2950 deletions(-)
delete mode 100644 drivers/lightnvm/rrpc.c
delete mode 100644 drivers/lightnvm/rrpc.h