alloc_rbio frees already bbio and raid_map, therefore they don''t need to be freed in case it fails Signed-off-by: Andi Shyti <andi@etezian.org> --- fs/btrfs/raid56.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c index 0525e13..35fe775 100644 --- a/fs/btrfs/raid56.c +++ b/fs/btrfs/raid56.c @@ -1687,11 +1687,9 @@ int raid56_parity_write(struct btrfs_root *root, struct bio *bio, struct blk_plug_cb *cb; rbio = alloc_rbio(root, bbio, raid_map, stripe_len); - if (IS_ERR(rbio)) { - kfree(raid_map); - kfree(bbio); + if (IS_ERR(rbio)) return PTR_ERR(rbio); - } + bio_list_add(&rbio->bio_list, bio); rbio->bio_list_bytes = bio->bi_size; -- 1.8.3.2
On Thu, Jul 25, 2013 at 02:09:40AM +0200, Andi Shyti wrote:> alloc_rbio frees already bbio and raid_map, therefore they don''t > need to be freed in case it fails >Looks good to me. Reviewed-by: Liu Bo <bo.li.liu@oracle.com>> Signed-off-by: Andi Shyti <andi@etezian.org> > --- > fs/btrfs/raid56.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c > index 0525e13..35fe775 100644 > --- a/fs/btrfs/raid56.c > +++ b/fs/btrfs/raid56.c > @@ -1687,11 +1687,9 @@ int raid56_parity_write(struct btrfs_root *root, struct bio *bio, > struct blk_plug_cb *cb; > > rbio = alloc_rbio(root, bbio, raid_map, stripe_len); > - if (IS_ERR(rbio)) { > - kfree(raid_map); > - kfree(bbio); > + if (IS_ERR(rbio)) > return PTR_ERR(rbio); > - } > + > bio_list_add(&rbio->bio_list, bio); > rbio->bio_list_bytes = bio->bi_size; > > -- > 1.8.3.2 > > -- > 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/-liubo
On thu, 25 Jul 2013 16:18:41 +0800, Liu Bo wrote:> On Thu, Jul 25, 2013 at 02:09:40AM +0200, Andi Shyti wrote: >> alloc_rbio frees already bbio and raid_map, therefore they don''t >> need to be freed in case it fails >> > > Looks good to me. > > Reviewed-by: Liu Bo <bo.li.liu@oracle.com>Dan Carpenter has fixed this problem in patch https://patchwork.kernel.org/patch/2831091/ Thanks Miao> >> Signed-off-by: Andi Shyti <andi@etezian.org> >> --- >> fs/btrfs/raid56.c | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c >> index 0525e13..35fe775 100644 >> --- a/fs/btrfs/raid56.c >> +++ b/fs/btrfs/raid56.c >> @@ -1687,11 +1687,9 @@ int raid56_parity_write(struct btrfs_root *root, struct bio *bio, >> struct blk_plug_cb *cb; >> >> rbio = alloc_rbio(root, bbio, raid_map, stripe_len); >> - if (IS_ERR(rbio)) { >> - kfree(raid_map); >> - kfree(bbio); >> + if (IS_ERR(rbio)) >> return PTR_ERR(rbio); >> - } >> + >> bio_list_add(&rbio->bio_list, bio); >> rbio->bio_list_bytes = bio->bi_size; >> >> -- >> 1.8.3.2 >> >> -- >> 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/ > -liubo > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html