This series of patches extends the way how pblk can store L2P sector metadata. After this set of changes any size of NVMe metadata above 16b is supported in pblk. Also there is an support for case without NVMe metadata. Changes v2 --> v3: -Rebase on top of ocssd/for-4.21/core -get/set_meta_lba helpers were removed -dma reallocation was replaced with single allocation -oob metadata size was added to pblk structure -proper checks on pblk creation were added Changes v1 --> v2: -Revert sector meta size back to 16b for pblk -Dma pool for larger oob meta are handled in core instead of pblk -Pblk oob meta helpers uses __le64 as input outpu instead of u64 -Other minor fixes based on v1 patch review Igor Konopko (5): lightnvm: pblk: Move lba list to partial read context lightnvm: pblk: Helpers for OOB metadata lightnvm: Flexible DMA pool entry size lightnvm: Disable interleaved metadata lightnvm: pblk: Support for packed metadata drivers/lightnvm/core.c | 30 ++++++++++++------ drivers/lightnvm/pblk-core.c | 66 ++++++++++++++++++++++++++++++++++------ drivers/lightnvm/pblk-init.c | 47 ++++++++++++++++++++++++++-- drivers/lightnvm/pblk-map.c | 21 ++++++++----- drivers/lightnvm/pblk-rb.c | 3 ++ drivers/lightnvm/pblk-read.c | 60 ++++++++++++++++++++---------------- drivers/lightnvm/pblk-recovery.c | 22 ++++++++------ drivers/lightnvm/pblk-sysfs.c | 7 +++++ drivers/lightnvm/pblk-write.c | 14 ++++++--- drivers/lightnvm/pblk.h | 24 +++++++++++++-- drivers/nvme/host/lightnvm.c | 16 ++++++---- include/linux/lightnvm.h | 4 ++- 12 files changed, 235 insertions(+), 79 deletions(-) -- 2.14.4