Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp13791644pxu; Mon, 4 Jan 2021 04:46:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJxuzl4lDCA2B/ano8usb4cD817j3H2+tOYalupyGGJkRiTpkgH6UFrtfM9x3Z4BofPNu1lE X-Received: by 2002:a17:906:4717:: with SMTP id y23mr25624111ejq.6.1609764360253; Mon, 04 Jan 2021 04:46:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609764360; cv=none; d=google.com; s=arc-20160816; b=1H/vCryDP/9lF/l9C5LH4CVUYfuPyntRxGdBxSci7V1I9spwRlqlM45FO4m1kjO5G4 waF/lrzLjiCy7MJ0KSuon0iZvm2GctkIZetfTcIBjDupu9Rs4ylvRt+jme0EdxKKsrci 0KhvFcmOhr8Bot1FGUvt4KcwkAfOLLqf4h7u+U61WQhT4tdwy7mg9GicPBpszgsSPcUs oNzaPhAnNqLbuvZTq8q8J4hmR8947QPJbMarOGGuOswrt8/W5Jn4UuLfAVL44/0QxcQ3 vGVqDPfeGvHd9ZrmlOaw1sIG0de7VK+OZvSCYcNIa2bpJEEWuJYTAk4Od8Xt/5X6iaJY edUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=rZ4LGlK8t6B2Ly3eEurbHpHQoNf2RZlRTogtRk6wi6I=; b=zVC2tmXf4jYlGijsMn/0DBMLvuR3dizKEm6p5tk6/NNaTCiEXcKKEZdoRv69STBXeg FMTVH1/3gezZ5zxmXUp2qOLPYKYWLtyf8Wy9FGDDG2IpShPdnGVyaMx5K8HpBPLsPY7r 6GVEXGITKxuuYQRQbbhZK/2Ojlp1s/Yx5ilX+xaNTSW3qIDTuMarHBlXS6VixxT99sum VmBKwPQfS+bYv+oFghqK1i5w2zH+wqCRygliTerYxZlKxbyHX8KmBxhnKuDgvwfsHdjH XRuyFmD880H41Lf67baJpUGt5WEEPmWljwbJoRb4jTsXhTT42f9d4NjFvcsqKjKrTV9h QaYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OZtau2X7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r13si30503400edq.603.2021.01.04.04.45.37; Mon, 04 Jan 2021 04:46:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OZtau2X7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726949AbhADMne (ORCPT + 99 others); Mon, 4 Jan 2021 07:43:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726236AbhADMnc (ORCPT ); Mon, 4 Jan 2021 07:43:32 -0500 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76CBCC061793; Mon, 4 Jan 2021 04:42:52 -0800 (PST) Received: by mail-ej1-x635.google.com with SMTP id b9so36656286ejy.0; Mon, 04 Jan 2021 04:42:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rZ4LGlK8t6B2Ly3eEurbHpHQoNf2RZlRTogtRk6wi6I=; b=OZtau2X7JLY3EeaL0vUwonTH8SRHkJASO32dRB2kYesG//bEP4SaZzuyAHIbE8uRxF YQh36KBJ91CaZYIzTSeOtCOZb732OFHaEZkCMVU8elBc+B0c1VwclwtLdl97I/2w/hEy IxeqAdS/qUEvl2AXaErOHhqjJlFH9X3MYC8E1JEHDyzpV3bmHF249p4uTdnLX2cwMbvR kff7QrA9uV+5VDrIBZIk4l/JAr59DBh5XV0TbcVJ1RtumQyK/+Zyb4BduSG4JOBtFN8X HporEIy9BjlXaD9ta87ZqYsiNKLeCUqatx+qz3gKeRdQMYN5Vh/TTuAVA7yejVk/9yDn 5MPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rZ4LGlK8t6B2Ly3eEurbHpHQoNf2RZlRTogtRk6wi6I=; b=mfFE5tRWcdfYTs7h89VlK39eetqE8iUcXy/9L6UcXITMgXTdbozdtLcVKJ292r0hEi SCp0D4oLkw2h1xA5aiih/fWIuYa6SKM/FhTRb/LV/J51RFts0YviPBEbsP1+RaXRGxNm QsWG90xcF9yhC6RlN66qT/77cIbHgbDYTHknJB38wAbUI1+5LWnr6bPK0d0OURnifDj2 BFmRrAWa4pPpIM/CHkCI1JYoBNdySv9VKiJJ3daarTocPRvTQKuTr/H28r4mf3QdwvL7 XUdvG860nGUT4UvohTH1GTXEHG9wxBlNXqw7JMLgILF6xC+MpNtwB77hzTNCYf5XyZaA ThOQ== X-Gm-Message-State: AOAM53186WJZGWwtSCTgtKwQiU9/aenqK+aKU8o9BXqO5GYCwKRr0O+O V+pYu5KUiGRnbMFolAfihiw7zZBZ/r/tIEPALxA= X-Received: by 2002:a17:906:68d1:: with SMTP id y17mr66905761ejr.447.1609764171043; Mon, 04 Jan 2021 04:42:51 -0800 (PST) MIME-Version: 1.0 References: <20210104104159.74236-1-selvakuma.s1@samsung.com> <20210104104159.74236-2-selvakuma.s1@samsung.com> In-Reply-To: From: Selva Jove Date: Mon, 4 Jan 2021 18:12:39 +0530 Message-ID: Subject: Re: [RFC PATCH v4 1/3] block: export bio_map_kern() To: Damien Le Moal Cc: SelvaKumar S , "linux-nvme@lists.infradead.org" , "kbusch@kernel.org" , "axboe@kernel.dk" , Johannes Thumshirn , "hch@lst.de" , "sagi@grimberg.me" , "linux-block@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "martin.petersen@oracle.com" , "bvanassche@acm.org" , "mpatocka@redhat.com" , "hare@suse.de" , "dm-devel@redhat.com" , "snitzer@redhat.com" , "nj.shetty@samsung.com" , "joshi.k@samsung.com" , "javier.gonz@samsung.com" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thanks Damien, Will update that. On Mon, Jan 4, 2021 at 5:45 PM Damien Le Moal wrote: > > On 2021/01/04 19:48, SelvaKumar S wrote: > > Export bio_map_kern() so that copy offload emulation can use > > it to add vmalloced memory to bio. > > > > Signed-off-by: SelvaKumar S > > --- > > block/blk-map.c | 3 ++- > > include/linux/blkdev.h | 2 ++ > > 2 files changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/block/blk-map.c b/block/blk-map.c > > index 21630dccac62..50d61475bb68 100644 > > --- a/block/blk-map.c > > +++ b/block/blk-map.c > > @@ -378,7 +378,7 @@ static void bio_map_kern_endio(struct bio *bio) > > * Map the kernel address into a bio suitable for io to a block > > * device. Returns an error pointer in case of error. > > */ > > -static struct bio *bio_map_kern(struct request_queue *q, void *data, > > +struct bio *bio_map_kern(struct request_queue *q, void *data, > > unsigned int len, gfp_t gfp_mask) > > { > > unsigned long kaddr = (unsigned long)data; > > @@ -428,6 +428,7 @@ static struct bio *bio_map_kern(struct request_queue *q, void *data, > > bio->bi_end_io = bio_map_kern_endio; > > return bio; > > } > > +EXPORT_SYMBOL(bio_map_kern); > > Simple copy support is a block layer code, so you I do not think you need this. > You only need to remove the static declaration of the function. > > > > > static void bio_copy_kern_endio(struct bio *bio) > > { > > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > > index 070de09425ad..81f9e7bec16c 100644 > > --- a/include/linux/blkdev.h > > +++ b/include/linux/blkdev.h > > @@ -936,6 +936,8 @@ extern int blk_rq_map_user(struct request_queue *, struct request *, > > struct rq_map_data *, void __user *, unsigned long, > > gfp_t); > > extern int blk_rq_unmap_user(struct bio *); > > +extern struct bio *bio_map_kern(struct request_queue *q, void *data, > > + unsigned int len, gfp_t gfp_mask); > > extern int blk_rq_map_kern(struct request_queue *, struct request *, void *, unsigned int, gfp_t); > > extern int blk_rq_map_user_iov(struct request_queue *, struct request *, > > struct rq_map_data *, const struct iov_iter *, > > > > > -- > Damien Le Moal > Western Digital Research