On Tue, Sep 06, 2022 at 12:03:29PM +0530, Kanchan Joshi wrote: >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. seems I responded without looking carefully. The bioset addition is not part of this series. It got added earlier [1] [2], as part of optimizing polled-io on file/passthru path. [1] https://lore.kernel.org/linux-block/20220806152004.382170-3-axboe@kernel.dk/ [2] https://lore.kernel.org/linux-block/f2863702-e54c-cd74-efcf-8cb238be1a7c@kernel.dk/