diff options
author | Tsutomu Itoh <t-itoh@jp.fujitsu.com> | 2012-09-13 11:32:32 +0200 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2012-10-04 15:39:54 +0200 |
commit | 0433f20d436fd040013e5a419a2e3d732d618a41 (patch) | |
tree | 9a1c93fd7f2a78f20f22789a614b1e6656ad6872 | |
parent | Revert "Btrfs: do not do filemap_write_and_wait_range in fsync" (diff) | |
download | linux-0433f20d436fd040013e5a419a2e3d732d618a41.tar.xz linux-0433f20d436fd040013e5a419a2e3d732d618a41.zip |
Btrfs: cleanup of error processing in btree_get_extent()
This patch simplifies a little complex error processing in
btree_get_extent().
Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
-rw-r--r-- | fs/btrfs/disk-io.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 8054f7ccf46a..8db87bc53d27 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -222,21 +222,17 @@ static struct extent_map *btree_get_extent(struct inode *inode, free_extent_map(em); em = lookup_extent_mapping(em_tree, start, len); - if (em) { - ret = 0; - } else { - em = lookup_extent_mapping(em_tree, failed_start, - failed_len); - ret = -EIO; + if (!em) { + lookup_extent_mapping(em_tree, failed_start, + failed_len); + em = ERR_PTR(-EIO); } } else if (ret) { free_extent_map(em); - em = NULL; + em = ERR_PTR(ret); } write_unlock(&em_tree->lock); - if (ret) - em = ERR_PTR(ret); out: return em; } |