From: Kent Overstreet <koverstreet@google.com>
To: Tejun Heo <tj@kernel.org>
Cc: linux-bcache@vger.kernel.org, linux-kernel@vger.kernel.org,
dm-devel@redhat.com, linux-fsdevel@vger.kernel.org,
axboe@kernel.dk, agk@redhat.com, neilb@suse.de
Subject: Re: [PATCH 05/13] block: Only clone bio vecs that are in use
Date: Fri, 18 May 2012 14:14:03 -0700 [thread overview]
Message-ID: <20120518211403.GE9673@google.com> (raw)
In-Reply-To: <20120518161334.GE19388@google.com>
On Fri, May 18, 2012 at 09:13:34AM -0700, Tejun Heo wrote:
> On Thu, May 17, 2012 at 10:59:52PM -0400, koverstreet@google.com wrote:
> > diff --git a/fs/bio.c b/fs/bio.c
> > index e2c0970..de0733e 100644
> > --- a/fs/bio.c
> > +++ b/fs/bio.c
> > @@ -435,8 +435,9 @@ EXPORT_SYMBOL(bio_phys_segments);
> > */
> > void __bio_clone(struct bio *bio, struct bio *bio_src)
> > {
> > - memcpy(bio->bi_io_vec, bio_src->bi_io_vec,
> > - bio_src->bi_max_vecs * sizeof(struct bio_vec));
> > + memcpy(bio->bi_io_vec,
> > + bio_iovec(bio_src),
>
> Unnecessary line break.
>
> > + bio_segments(bio_src) * sizeof(struct bio_vec));
> >
> > /*
> > * most users will be overriding ->bi_bdev with a new target,
> > @@ -445,10 +446,10 @@ void __bio_clone(struct bio *bio, struct bio *bio_src)
> > bio->bi_sector = bio_src->bi_sector;
> > bio->bi_bdev = bio_src->bi_bdev;
> > bio->bi_flags |= 1 << BIO_CLONED;
> > + bio->bi_flags &= ~(1 << BIO_SEG_VALID);
>
> Can probably be conditionalized on bi_idx?
I've never been that clear on the semantics of BIO_SEG_VALID. I'll defer
to you on that.
next prev parent reply other threads:[~2012-05-18 21:14 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-18 2:59 [PATCH 00/13] Block cleanups (for bcache) koverstreet
2012-05-18 2:59 ` [PATCH 01/13] block: Generalized bio pool freeing koverstreet
2012-05-18 15:55 ` Tejun Heo
2012-05-18 16:14 ` [dm-devel] " Alasdair G Kergon
2012-05-18 2:59 ` [PATCH 02/13] dm: kill dm_rq_bio_destructor koverstreet
2012-05-18 15:57 ` Tejun Heo
2012-05-18 16:43 ` [dm-devel] " Alasdair G Kergon
2012-05-18 18:50 ` Kent Overstreet
2012-05-22 4:29 ` Jun'ichi Nomura
2012-05-18 2:59 ` [PATCH 03/13] block: Add bio_clone_bioset() koverstreet
2012-05-18 16:05 ` Tejun Heo
2012-05-18 20:31 ` Kent Overstreet
2012-05-18 16:11 ` [dm-devel] " Vivek Goyal
2012-05-18 18:55 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 04/13] block: Add bio_clone_kmalloc() koverstreet
2012-05-18 16:09 ` Tejun Heo
2012-05-18 20:39 ` Kent Overstreet
2012-05-18 16:45 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 05/13] block: Only clone bio vecs that are in use koverstreet
2012-05-18 16:13 ` Tejun Heo
2012-05-18 21:14 ` Kent Overstreet [this message]
2012-05-18 2:59 ` [PATCH 06/13] block: Add bio_reset() koverstreet
2012-05-18 16:16 ` Tejun Heo
2012-05-18 21:48 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 07/13] pktcdvd: Switch to bio_kmalloc() koverstreet
2012-05-18 16:18 ` Tejun Heo
2012-05-18 2:59 ` [PATCH 08/13] block: Kill bi_destructor koverstreet
2012-05-18 16:21 ` Tejun Heo
2012-05-18 22:21 ` Kent Overstreet
2012-05-18 2:59 ` [PATCH 09/13] block: Add an explicit bio flag for bios that own their bvec koverstreet
2012-05-18 16:30 ` Tejun Heo
2012-05-18 21:49 ` Kent Overstreet
2012-05-18 17:07 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 10/13] block: Rework bio splitting koverstreet
2012-05-18 17:07 ` Tejun Heo
2012-05-18 17:46 ` Boaz Harrosh
2012-05-18 2:59 ` [PATCH 11/13] Closures koverstreet
2012-05-18 17:08 ` Tejun Heo
2012-05-18 2:59 ` [PATCH 12/13] Make generic_make_request handle arbitrarily large bios koverstreet
2012-05-18 8:05 ` NeilBrown
2012-05-18 8:14 ` Kent Overstreet
2012-05-21 17:17 ` [dm-devel] " Vivek Goyal
2012-05-21 17:55 ` Kent Overstreet
2012-05-21 18:32 ` Vivek Goyal
2012-05-18 17:52 ` Tejun Heo
2012-05-19 0:59 ` [dm-devel] " Alasdair G Kergon
2012-05-18 22:48 ` Mikulas Patocka
2012-05-18 3:00 ` [PATCH 13/13] Gut bio_add_page() koverstreet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120518211403.GE9673@google.com \
--to=koverstreet@google.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).