Commit 0564d555 authored by Anand Jain's avatar Anand Jain Committed by Kelsey Skunberg

btrfs: cow_file_range() num_bytes and disk_num_bytes are same

BugLink: https://bugs.launchpad.net/bugs/1887011

[ Upstream commit 3752d22f ]

This patch deletes local variable disk_num_bytes as its value
is same as num_bytes in the function cow_file_range().
Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
Signed-off-by: default avatarKelsey Skunberg <kelsey.skunberg@canonical.com>
parent 808843a3
...@@ -926,7 +926,6 @@ static noinline int cow_file_range(struct inode *inode, ...@@ -926,7 +926,6 @@ static noinline int cow_file_range(struct inode *inode,
u64 alloc_hint = 0; u64 alloc_hint = 0;
u64 num_bytes; u64 num_bytes;
unsigned long ram_size; unsigned long ram_size;
u64 disk_num_bytes;
u64 cur_alloc_size; u64 cur_alloc_size;
u64 blocksize = root->sectorsize; u64 blocksize = root->sectorsize;
struct btrfs_key ins; struct btrfs_key ins;
...@@ -942,7 +941,6 @@ static noinline int cow_file_range(struct inode *inode, ...@@ -942,7 +941,6 @@ static noinline int cow_file_range(struct inode *inode,
num_bytes = ALIGN(end - start + 1, blocksize); num_bytes = ALIGN(end - start + 1, blocksize);
num_bytes = max(blocksize, num_bytes); num_bytes = max(blocksize, num_bytes);
disk_num_bytes = num_bytes;
/* if this is a small write inside eof, kick off defrag */ /* if this is a small write inside eof, kick off defrag */
if (num_bytes < 64 * 1024 && if (num_bytes < 64 * 1024 &&
...@@ -969,16 +967,15 @@ static noinline int cow_file_range(struct inode *inode, ...@@ -969,16 +967,15 @@ static noinline int cow_file_range(struct inode *inode,
} }
} }
BUG_ON(disk_num_bytes > BUG_ON(num_bytes > btrfs_super_total_bytes(root->fs_info->super_copy));
btrfs_super_total_bytes(root->fs_info->super_copy));
alloc_hint = get_extent_allocation_hint(inode, start, num_bytes); alloc_hint = get_extent_allocation_hint(inode, start, num_bytes);
btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0); btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0);
while (disk_num_bytes > 0) { while (num_bytes > 0) {
unsigned long op; unsigned long op;
cur_alloc_size = disk_num_bytes; cur_alloc_size = num_bytes;
ret = btrfs_reserve_extent(root, cur_alloc_size, ret = btrfs_reserve_extent(root, cur_alloc_size,
root->sectorsize, 0, alloc_hint, root->sectorsize, 0, alloc_hint,
&ins, 1, 1); &ins, 1, 1);
...@@ -1033,7 +1030,7 @@ static noinline int cow_file_range(struct inode *inode, ...@@ -1033,7 +1030,7 @@ static noinline int cow_file_range(struct inode *inode,
goto out_drop_extent_cache; goto out_drop_extent_cache;
} }
if (disk_num_bytes < cur_alloc_size) if (num_bytes < cur_alloc_size)
break; break;
/* we're not doing compressed IO, don't unlock the first /* we're not doing compressed IO, don't unlock the first
...@@ -1050,8 +1047,10 @@ static noinline int cow_file_range(struct inode *inode, ...@@ -1050,8 +1047,10 @@ static noinline int cow_file_range(struct inode *inode,
start + ram_size - 1, locked_page, start + ram_size - 1, locked_page,
EXTENT_LOCKED | EXTENT_DELALLOC, EXTENT_LOCKED | EXTENT_DELALLOC,
op); op);
disk_num_bytes -= cur_alloc_size; if (num_bytes < cur_alloc_size)
num_bytes -= cur_alloc_size; num_bytes = 0;
else
num_bytes -= cur_alloc_size;
alloc_hint = ins.objectid + ins.offset; alloc_hint = ins.objectid + ins.offset;
start += cur_alloc_size; start += cur_alloc_size;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment