summaryrefslogtreecommitdiff
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2011-11-03 22:23:13 -0400
committerChris Mason <chris.mason@oracle.com>2011-11-06 03:09:10 -0500
commitc674e04e1cd6049715e7b9446790f4b441e547c0 (patch)
treea84d0488a8c8a2fc45abd7f54e054ccd2fcf8a83 /fs/btrfs/disk-io.c
parent740c3d226cbba6cd6a32adfb66809c94938f3e57 (diff)
downloadlinux-rpi-c674e04e1cd6049715e7b9446790f4b441e547c0.tar.gz
linux-rpi-c674e04e1cd6049715e7b9446790f4b441e547c0.tar.bz2
linux-rpi-c674e04e1cd6049715e7b9446790f4b441e547c0.zip
Btrfs: fix extent_buffer leak in the metadata IO error handling
The scrub readahead branch brought in a new error handling hook, but it was leaking extent_buffer references. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 0eb1f0951251..40a62b980087 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -644,6 +644,7 @@ static int btree_io_failed_hook(struct bio *failed_bio,
clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags);
btree_readahead_hook(root, eb, eb->start, -EIO);
}
+ free_extent_buffer(eb);
out:
return -EIO; /* we fixed nothing */