summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2017-06-18 06:38:58 +0200
committerJens Axboe <axboe@kernel.dk>2017-06-18 20:40:59 +0200
commitb25d52379ad87800a93311c42e36f8dd1d7d8e98 (patch)
tree7bf333a9a4dc42d1f143b8cc8ee249bdb7d3563b /drivers/lightnvm/pblk.h
parentpktcdvd: use bio_clone_fast() instead of bio_clone() (diff)
downloadlinux-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.h1
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,