diff options
author | Nikolay Borisov <nborisov@suse.com> | 2018-12-17 10:36:02 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-02-25 14:13:22 +0100 |
commit | 02a033df7a5ebf356d59eeabab1a37ca175e8b5b (patch) | |
tree | 7cfe0fe17e7bdcb3669c7c2eaed38e676fa33d39 /fs/btrfs/inode.c | |
parent | b8eeab7fced20169f5d8b4e3894e9e470fdf01ef (diff) | |
download | linux-02a033df7a5ebf356d59eeabab1a37ca175e8b5b.tar.gz linux-02a033df7a5ebf356d59eeabab1a37ca175e8b5b.tar.bz2 linux-02a033df7a5ebf356d59eeabab1a37ca175e8b5b.zip |
btrfs: Remove not_found_em label from btrfs_get_extent
In order to avoid duplicating init code for em there is an additional
label, not_found_em, which is used to only set ->block_start. The only
case when it will be used is if the extent we are adding overlaps with
an existing extent. Make that case more obvious by:
1. Adding a comment hinting at what's going on
2. Assigning EXTENT_MAP_HOLE and directly going to insert.
No functional changes.
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index c6fc283164b8..4a0da2d7758b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -6858,10 +6858,13 @@ next: goto not_found; if (start > found_key.offset) goto next; + + /* New extent overlaps with existing one */ em->start = start; em->orig_start = start; em->len = found_key.offset - start; - goto not_found_em; + em->block_start = EXTENT_MAP_HOLE; + goto insert; } btrfs_extent_item_to_extent_map(inode, path, item, @@ -6921,7 +6924,6 @@ not_found: em->start = start; em->orig_start = start; em->len = len; -not_found_em: em->block_start = EXTENT_MAP_HOLE; insert: btrfs_release_path(path); |