aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorNikolay Borisov <nborisov@suse.com>2019-08-05 17:47:05 +0300
committerDavid Sterba <dsterba@suse.com>2019-09-09 14:59:13 +0200
commitbb55f6260b4756ba0ce46fc373f6f2e1893f752d (patch)
tree775395039fe6a54979759f237e2f2e11711d371e /fs/btrfs/inode.c
parentbtrfs: improve comments around nocow path (diff)
downloadlinux-dev-bb55f6260b4756ba0ce46fc373f6f2e1893f752d.tar.xz
linux-dev-bb55f6260b4756ba0ce46fc373f6f2e1893f752d.zip
btrfs: simplify extent type checks in run_delalloc_nocow
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>
Diffstat (limited to '')
-rw-r--r--fs/btrfs/inode.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index ae44ec2f399e..383ad5256f70 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -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 @@ out_check:
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 */