OpenCloudOS-Kernel/drivers/lightnvm
Javier González a4809fee4e lightnvm: pblk: check lba sanity on read path
As part of pblk's recovery scheme, we store the lba mapped to each
physical sector on the device's out-of-bound (OOB) area.

On the read path, we can use this information to validate that the data
being delivered to the upper layers corresponds to the lba being
requested. The cost of this check is an extra copy on the DMA region on
the device and an extra comparison in the host, given that (i) the OOB
area is being read together with the data in the media, and (ii) the DMA
region allocated for the ppa list can be reused for the metadata stored
on the OOB area.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2017-10-13 08:34:57 -06:00
..
Kconfig lightnvm: include NVM Express driver if OCSSD is selected for build 2017-10-13 08:34:57 -06:00
Makefile lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
core.c lightnvm: remove already calculated nr_chnls 2017-10-13 08:34:57 -06:00
pblk-cache.c lightnvm: pblk: simplify path on REQ_PREFLUSH 2017-10-13 08:34:57 -06:00
pblk-core.c lightnvm: pblk: use rqd->end_io for completion 2017-10-13 08:34:57 -06:00
pblk-gc.c lightnvm: pblk: refactor read path on GC 2017-10-13 08:34:57 -06:00
pblk-init.c lightnvm: pblk: do not use a mempool for line bitmaps 2017-10-13 08:34:57 -06:00
pblk-map.c lightnvm: pblk: fix bad le64 assignations 2017-06-30 11:08:18 -06:00
pblk-rb.c lightnvm: pblk: allocate bio size more accurately 2017-10-13 08:34:57 -06:00
pblk-read.c lightnvm: pblk: check lba sanity on read path 2017-10-13 08:34:57 -06:00
pblk-recovery.c lightnvm: pblk: refactor rqd alloc/free 2017-10-13 08:34:57 -06:00
pblk-rl.c lightnvm: pblk: avoid deadlock on low LUN config 2017-10-13 08:34:57 -06:00
pblk-sysfs.c lightnvm: pblk: remove unused return variable 2017-06-30 11:08:18 -06:00
pblk-write.c lightnvm: pblk: refactor rqd alloc/free 2017-10-13 08:34:57 -06:00
pblk.h lightnvm: pblk: check lba sanity on read path 2017-10-13 08:34:57 -06:00
rrpc.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
rrpc.h lightnvm: use end_io callback instead of instance 2017-01-31 08:32:13 -07:00