diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-11-03 22:23:13 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-11-06 03:09:10 -0500 |
commit | c674e04e1cd6049715e7b9446790f4b441e547c0 (patch) | |
tree | a84d0488a8c8a2fc45abd7f54e054ccd2fcf8a83 /fs/btrfs/disk-io.c | |
parent | 740c3d226cbba6cd6a32adfb66809c94938f3e57 (diff) |
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.c | 1 |
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, | |||
644 | clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags); | 644 | clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags); |
645 | btree_readahead_hook(root, eb, eb->start, -EIO); | 645 | btree_readahead_hook(root, eb, eb->start, -EIO); |
646 | } | 646 | } |
647 | free_extent_buffer(eb); | ||
647 | 648 | ||
648 | out: | 649 | out: |
649 | return -EIO; /* we fixed nothing */ | 650 | return -EIO; /* we fixed nothing */ |