diff options
author | NeilBrown <neilb@suse.com> | 2017-06-18 06:38:58 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-06-18 20:40:59 +0200 |
commit | b25d52379ad87800a93311c42e36f8dd1d7d8e98 (patch) | |
tree | 7bf333a9a4dc42d1f143b8cc8ee249bdb7d3563b /drivers/lightnvm/pblk.h | |
parent | pktcdvd: use bio_clone_fast() instead of bio_clone() (diff) | |
download | linux-b25d52379ad87800a93311c42e36f8dd1d7d8e98.tar.xz linux-b25d52379ad87800a93311c42e36f8dd1d7d8e98.zip |
lightnvm/pblk-read: use bio_clone_fast()
pblk_submit_read() uses bio_clone_bioset() but doesn't change the
io_vec, so bio_clone_fast() is a better choice.
It also uses fs_bio_set which is intended for filesystems. Using it
in a device driver can deadlock.
So allocate a new bioset, and and use bio_clone_fast().
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Javier González <javier@cnexlabs.com>
Tested-by: Javier González <javier@cnexlabs.com>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to '')
-rw-r--r-- | drivers/lightnvm/pblk.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h index 99f3186b5288..95b665f23925 100644 --- a/drivers/lightnvm/pblk.h +++ b/drivers/lightnvm/pblk.h @@ -702,6 +702,7 @@ void pblk_write_should_kick(struct pblk *pblk); /* * pblk read path */ +extern struct bio_set *pblk_bio_set; int pblk_submit_read(struct pblk *pblk, struct bio *bio); int pblk_submit_read_gc(struct pblk *pblk, u64 *lba_list, void *data, unsigned int nr_secs, unsigned int *secs_to_gc, |