From: Miao Xie Date: Fri, 12 Sep 2014 10:43:57 +0000 (+0800) Subject: Btrfs: fix missing error handler if submiting re-read bio fails X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6c387ab20db15f2bd448f7c508e2638101b16ea1;p=openwrt%2Fstaging%2Fblogic.git Btrfs: fix missing error handler if submiting re-read bio fails We forgot to free failure record and bio after submitting re-read bio failed, fix it. Signed-off-by: Miao Xie Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index ad04f85ac45d..dc501a9ca227 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2348,6 +2348,11 @@ static int bio_readpage_error(struct bio *failed_bio, u64 phy_offset, ret = tree->ops->submit_bio_hook(inode, read_mode, bio, failrec->this_mirror, failrec->bio_flags, 0); + if (ret) { + free_io_failure(inode, failrec, 0); + bio_put(bio); + } + return ret; }