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 */