On Tue, Sep 06, 2022 at 08:25:22AM +0200, Christoph Hellwig wrote: >On Mon, Sep 05, 2022 at 07:18:32PM +0530, Kanchan Joshi wrote: >> +static struct bio *bio_map_get(struct request *rq, unsigned int nr_vecs, >> gfp_t gfp_mask) >> { >> @@ -259,13 +252,31 @@ static int bio_map_user_iov(struct request *rq, struct iov_iter *iter, >> bio = bio_alloc_bioset(NULL, nr_vecs, opf, gfp_mask, >> &fs_bio_set); >> if (!bio) >> - return -ENOMEM; >> + return NULL; > >This context looks weird? That bio_alloc_bioset should not be there, >as biosets are only used for file system I/O, which this is not. if you think it's a deal-breaker, maybe I can add a new bioset in nvme and pass that as argument to this helper. Would you prefer that over the current approach.