diff options
author | Javier González <jg@lightnvm.io> | 2016-11-29 00:38:58 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-29 22:12:51 +0300 |
commit | f0b01b6a610f99fb7683d0f5259bb65649b0fd78 (patch) | |
tree | a9d0df938719647e1550ad63106c55634033a8c3 | |
parent | 402ab9a89d7b5bab08a5534027b39d80085ec19b (diff) | |
download | linux-f0b01b6a610f99fb7683d0f5259bb65649b0fd78.tar.xz |
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; |