diff options
author | Javier González <jg@lightnvm.io> | 2016-11-28 22:38:58 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-29 20:12:51 +0100 |
commit | f0b01b6a610f99fb7683d0f5259bb65649b0fd78 (patch) | |
tree | a9d0df938719647e1550ad63106c55634033a8c3 | |
parent | lightnvm: add ECC error codes (diff) | |
download | linux-f0b01b6a610f99fb7683d0f5259bb65649b0fd78.tar.xz linux-f0b01b6a610f99fb7683d0f5259bb65649b0fd78.zip |
lightnvm: rrpc: split bios of size > 256kb
rrpc cannot handle bios of size > 256kb due to NVMe using a 64 bit
bitmap to signal I/O completion. If a larger bio comes, split it
explicitly.
Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r-- | drivers/lightnvm/rrpc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c index 2b71b7e59dac..60ca9d4bd6e9 100644 --- a/drivers/lightnvm/rrpc.c +++ b/drivers/lightnvm/rrpc.c @@ -943,6 +943,8 @@ static blk_qc_t rrpc_make_rq(struct request_queue *q, struct bio *bio) struct nvm_rq *rqd; int err; + blk_queue_split(q, &bio, q->bio_split); + if (bio_op(bio) == REQ_OP_DISCARD) { rrpc_discard(rrpc, bio); return BLK_QC_T_NONE; |