]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
btrfs: simplify extent type checks in run_delalloc_nocow
authorNikolay Borisov <nborisov@suse.com>
Mon, 5 Aug 2019 14:47:05 +0000 (17:47 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:13 +0000 (14:59 +0200)
There is no point in checking the type of the extent again just to set
the 'type' variable, when this check has already been performed before.
Instead, extend the original if branch with an 'else' clause. This
allows to remove one local variable and make it obvious how the code
flow differs for prealloc/regular extents.

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 ae44ec2f399e37d3ef4238fd02478a1acf688b0c..383ad5256f706ee7b7639260e8abf0d1bf6f25fd 100644 (file)
@@ -1336,7 +1336,6 @@ static noinline int run_delalloc_nocow(struct inode *inode,
                u64 disk_bytenr = 0;
                u64 num_bytes = 0;
                u64 disk_num_bytes;
-               int type;
                u64 ram_bytes;
                int extent_type;
                bool nocow = false;
@@ -1572,16 +1571,17 @@ static noinline int run_delalloc_nocow(struct inode *inode,
                                goto error;
                        }
                        free_extent_map(em);
-               }
-
-               if (extent_type == BTRFS_FILE_EXTENT_PREALLOC) {
-                       type = BTRFS_ORDERED_PREALLOC;
+                       ret = btrfs_add_ordered_extent(inode, cur_offset,
+                                                      disk_bytenr, num_bytes,
+                                                      num_bytes,
+                                                      BTRFS_ORDERED_PREALLOC);
                } else {
-                       type = BTRFS_ORDERED_NOCOW;
+                       ret = btrfs_add_ordered_extent(inode, cur_offset,
+                                                      disk_bytenr, num_bytes,
+                                                      num_bytes,
+                                                      BTRFS_ORDERED_NOCOW);
                }
 
-               ret = btrfs_add_ordered_extent(inode, cur_offset, disk_bytenr,
-                                              num_bytes, num_bytes,type);
                if (nocow)
                        btrfs_dec_nocow_writers(fs_info, disk_bytenr);
                BUG_ON(ret); /* -ENOMEM */