]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
nvme: Use blk_rq_map_user_io helper
authorAnuj Gupta <anuj20.g@samsung.com>
Fri, 30 Sep 2022 06:27:42 +0000 (11:57 +0530)
committerJens Axboe <axboe@kernel.dk>
Fri, 30 Sep 2022 13:51:13 +0000 (07:51 -0600)
User blk_rq_map_user_io instead of duplicating the same code at
different places

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/r/20220930062749.152261-6-anuj20.g@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/ioctl.c

index 914b142b6f2b0f0af5dca9f156443d86f81a5b26..3746a02a88ef75ed5cee0188646fbef1dd6784bd 100644 (file)
@@ -88,22 +88,8 @@ static struct request *nvme_alloc_user_request(struct request_queue *q,
        nvme_req(req)->flags |= NVME_REQ_USERCMD;
 
        if (ubuffer && bufflen) {
-               if (!vec)
-                       ret = blk_rq_map_user(q, req, NULL, ubuffer, bufflen,
-                               GFP_KERNEL);
-               else {
-                       struct iovec fast_iov[UIO_FASTIOV];
-                       struct iovec *iov = fast_iov;
-                       struct iov_iter iter;
-
-                       ret = import_iovec(rq_data_dir(req), ubuffer, bufflen,
-                                       UIO_FASTIOV, &iov, &iter);
-                       if (ret < 0)
-                               goto out;
-                       ret = blk_rq_map_user_iov(q, req, NULL, &iter,
-                                       GFP_KERNEL);
-                       kfree(iov);
-               }
+               ret = blk_rq_map_user_io(req, NULL, ubuffer, bufflen,
+                               GFP_KERNEL, vec, 0, 0, rq_data_dir(req));
                if (ret)
                        goto out;
                bio = req->bio;