From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boaz Harrosh Subject: Re: [PATCH v3 03/16] block: Add bio_reset() Date: Mon, 28 May 2012 13:02:45 +0300 Message-ID: <4FC34D45.7040806@panasas.com> References: <1337977539-16977-1-git-send-email-koverstreet@google.com> <1337977539-16977-4-git-send-email-koverstreet@google.com> <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> Sender: linux-kernel-owner@vger.kernel.org To: Tejun Heo Cc: Kent Overstreet , linux-kernel@vger.kernel.org, linux-bcache@vger.kernel.org, dm-devel@redhat.com, linux-fsdevel@vger.kernel.org, axboe@kernel.dk, agk@redhat.com, neilb@suse.de, drbd-dev@lists.linbit.com, vgoyal@redhat.com, mpatocka@redhat.com, sage@newdream.net, yehuda@hq.newdream.net List-Id: dm-devel.ids On 05/28/2012 04:23 AM, Tejun Heo wrote: > On Fri, May 25, 2012 at 01:25:26PM -0700, Kent Overstreet wrote: >> Reusing bios is something that's been highly frowned upon in the past, >> but driver code keeps doing it anyways. If it's going to happen anyways, >> we should provide a generic method. >> >> This'll help with getting rid of bi_destructor - drivers/block/pktcdvd.c >> was open coding it, by doing a bio_init() and resetting bi_destructor. >> >> Signed-off-by: Kent Overstreet >> Change-Id: Ib0a43dfcb3f6c22a54da513d4a86be544b5ffd95 >> --- >> fs/bio.c | 8 ++++++++ >> include/linux/bio.h | 1 + >> include/linux/blk_types.h | 6 ++++++ >> 3 files changed, 15 insertions(+) >> >> diff --git a/fs/bio.c b/fs/bio.c >> index 3667cef..240da21 100644 >> --- a/fs/bio.c >> +++ b/fs/bio.c >> @@ -259,6 +259,14 @@ void bio_init(struct bio *bio) >> } >> EXPORT_SYMBOL(bio_init); >> > > Function comment please. And please make this inline in header. We should not EXPORT_SYMBOL a memset. (Even the memset gets inlined by compiler. Boaz > >> +void bio_reset(struct bio *bio) >> +{ >> + memset(bio, 0, BIO_RESET_BYTES); >> + bio->bi_flags = 1 << BIO_UPTODATE; >> + >> +} >> +EXPORT_SYMBOL(bio_reset); > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra.linbit.com (zimbra.linbit.com [212.69.161.123]) by mail09.linbit.com (LINBIT Mail Daemon) with ESMTP id 7DA2C1011BE7 for ; Wed, 30 May 2012 10:41:01 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zimbra.linbit.com (Postfix) with ESMTP id 740961B435D for ; Wed, 30 May 2012 10:41:01 +0200 (CEST) Received: from zimbra.linbit.com ([127.0.0.1]) by localhost (zimbra.linbit.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t5a+5k5cGl7z for ; Wed, 30 May 2012 10:41:01 +0200 (CEST) Received: from soda.linbit (tuerlsteher.linbit.com [86.59.100.100]) by zimbra.linbit.com (Postfix) with ESMTP id 49F391B435C for ; Wed, 30 May 2012 10:41:01 +0200 (CEST) Resent-Message-ID: <20120530084101.GJ4141@soda.linbit> Received: from natasha.panasas.com (natasha.panasas.com [67.152.220.90]) by mail09.linbit.com (LINBIT Mail Daemon) with ESMTP id 417061013802 for ; Mon, 28 May 2012 12:03:48 +0200 (CEST) Message-ID: <4FC34D45.7040806@panasas.com> Date: Mon, 28 May 2012 13:02:45 +0300 From: Boaz Harrosh MIME-Version: 1.0 To: Tejun Heo References: <1337977539-16977-1-git-send-email-koverstreet@google.com> <1337977539-16977-4-git-send-email-koverstreet@google.com> <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> In-Reply-To: <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: axboe@kernel.dk, dm-devel@redhat.com, neilb@suse.de, Kent Overstreet , linux-kernel@vger.kernel.org, linux-bcache@vger.kernel.org, mpatocka@redhat.com, vgoyal@redhat.com, yehuda@hq.newdream.net, linux-fsdevel@vger.kernel.org, sage@newdream.net, agk@redhat.com, drbd-dev@lists.linbit.com Subject: Re: [Drbd-dev] [PATCH v3 03/16] block: Add bio_reset() List-Id: Coordination of development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 05/28/2012 04:23 AM, Tejun Heo wrote: > On Fri, May 25, 2012 at 01:25:26PM -0700, Kent Overstreet wrote: >> Reusing bios is something that's been highly frowned upon in the past, >> but driver code keeps doing it anyways. If it's going to happen anyways, >> we should provide a generic method. >> >> This'll help with getting rid of bi_destructor - drivers/block/pktcdvd.c >> was open coding it, by doing a bio_init() and resetting bi_destructor. >> >> Signed-off-by: Kent Overstreet >> Change-Id: Ib0a43dfcb3f6c22a54da513d4a86be544b5ffd95 >> --- >> fs/bio.c | 8 ++++++++ >> include/linux/bio.h | 1 + >> include/linux/blk_types.h | 6 ++++++ >> 3 files changed, 15 insertions(+) >> >> diff --git a/fs/bio.c b/fs/bio.c >> index 3667cef..240da21 100644 >> --- a/fs/bio.c >> +++ b/fs/bio.c >> @@ -259,6 +259,14 @@ void bio_init(struct bio *bio) >> } >> EXPORT_SYMBOL(bio_init); >> > > Function comment please. And please make this inline in header. We should not EXPORT_SYMBOL a memset. (Even the memset gets inlined by compiler. Boaz > >> +void bio_reset(struct bio *bio) >> +{ >> + memset(bio, 0, BIO_RESET_BYTES); >> + bio->bi_flags = 1 << BIO_UPTODATE; >> + >> +} >> +EXPORT_SYMBOL(bio_reset); > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boaz Harrosh Subject: Re: [PATCH v3 03/16] block: Add bio_reset() Date: Mon, 28 May 2012 13:02:45 +0300 Message-ID: <4FC34D45.7040806@panasas.com> References: <1337977539-16977-1-git-send-email-koverstreet@google.com> <1337977539-16977-4-git-send-email-koverstreet@google.com> <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Kent Overstreet , , , , , , , , , , , , To: Tejun Heo Return-path: In-Reply-To: <20120528012307.GC9891@dhcp-172-17-108-109.mtv.corp.google.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On 05/28/2012 04:23 AM, Tejun Heo wrote: > On Fri, May 25, 2012 at 01:25:26PM -0700, Kent Overstreet wrote: >> Reusing bios is something that's been highly frowned upon in the past, >> but driver code keeps doing it anyways. If it's going to happen anyways, >> we should provide a generic method. >> >> This'll help with getting rid of bi_destructor - drivers/block/pktcdvd.c >> was open coding it, by doing a bio_init() and resetting bi_destructor. >> >> Signed-off-by: Kent Overstreet >> Change-Id: Ib0a43dfcb3f6c22a54da513d4a86be544b5ffd95 >> --- >> fs/bio.c | 8 ++++++++ >> include/linux/bio.h | 1 + >> include/linux/blk_types.h | 6 ++++++ >> 3 files changed, 15 insertions(+) >> >> diff --git a/fs/bio.c b/fs/bio.c >> index 3667cef..240da21 100644 >> --- a/fs/bio.c >> +++ b/fs/bio.c >> @@ -259,6 +259,14 @@ void bio_init(struct bio *bio) >> } >> EXPORT_SYMBOL(bio_init); >> > > Function comment please. And please make this inline in header. We should not EXPORT_SYMBOL a memset. (Even the memset gets inlined by compiler. Boaz > >> +void bio_reset(struct bio *bio) >> +{ >> + memset(bio, 0, BIO_RESET_BYTES); >> + bio->bi_flags = 1 << BIO_UPTODATE; >> + >> +} >> +EXPORT_SYMBOL(bio_reset); >