On Fri, May 18, 2012 at 12:11:30PM -0400, Vivek Goyal wrote: > On Thu, May 17, 2012 at 10:59:50PM -0400, koverstreet@xxxxxxxxxx wrote: > > [..] > > diff --git a/drivers/md/md.c b/drivers/md/md.c > > index a5a524e..47605e7 100644 > > --- a/drivers/md/md.c > > +++ b/drivers/md/md.c > > @@ -178,23 +178,7 @@ struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask, > > if (!mddev || !mddev->bio_set) > > return bio_clone(bio, gfp_mask); > > > > - b = bio_alloc_bioset(gfp_mask, bio->bi_max_vecs, mddev->bio_set); > > - if (!b) > > - return NULL; > > - > > - __bio_clone(b, bio); > > - if (bio_integrity(bio)) { > > - int ret; > > - > > - ret = bio_integrity_clone(b, bio, gfp_mask, mddev->bio_set); > > - > > - if (ret < 0) { > > - bio_put(b); > > - return NULL; > > - } > > - } > > - > > - return b; > > + return bio_clone_bioset(gfp_mask, bio_segments(bio), mddev->bio_set); > > Are we passing wrong arguments to bio_clone_bioset()? Uh - whoops, yes. Good catch, thanks. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel