]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
btrfs: Remove not_found_em label from btrfs_get_extent
authorNikolay Borisov <nborisov@suse.com>
Mon, 17 Dec 2018 08:36:02 +0000 (10:36 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Feb 2019 13:13:22 +0000 (14:13 +0100)
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>
fs/btrfs/inode.c

index c6fc283164b87de58766029b402d5e98214a1bab..4a0da2d7758b96bf9c0027d2281b9ef35eb1c119 100644 (file)
@@ -6858,10 +6858,13 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
                        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 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
        em->start = start;
        em->orig_start = start;
        em->len = len;
-not_found_em:
        em->block_start = EXTENT_MAP_HOLE;
 insert:
        btrfs_release_path(path);