lkml.org 
[lkml]   [2012]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 04/14] block: Add bio_clone_kmalloc()
    From
    On Thu, May 24, 2012 at 11:59 AM, Vivek Goyal <vgoyal@redhat.com> wrote:
    > On Wed, May 23, 2012 at 05:02:41PM -0700, Kent Overstreet wrote:
    >
    > [..]
    >> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
    >> index 013c7a5..5a953c6 100644
    >> --- a/drivers/block/rbd.c
    >> +++ b/drivers/block/rbd.c
    >> @@ -729,7 +729,7 @@ static struct bio *bio_chain_clone(struct bio **old, struct bio **next,
    >>       }
    >>
    >>       while (old_chain && (total < len)) {
    >> -             tmp = bio_kmalloc(gfpmask, old_chain->bi_max_vecs);
    >> +             tmp = bio_clone_kmalloc(old_chain, gfpmask);
    >>               if (!tmp)
    >>                       goto err_out;
    >>
    >> @@ -751,13 +751,9 @@ static struct bio *bio_chain_clone(struct bio **old, struct bio **next,
    >>                       if (!bp)
    >>                               goto err_out;
    >>
    >> -                     __bio_clone(tmp, &bp->bio1);
    >> -
    >>                       *next = &bp->bio2;
    >
    > Is this code correct. Now original code might clone bio after split and
    > new code will clone the original bio itself and not the split one?
    >

    Yeah, that's wrong.

    Yehuda
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-05-25 00:01    [W:0.027 / U:98.052 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site