2021-05-14 10:38:41

by Yang Li

[permalink] [raw]
Subject: [PATCH] btrfs: Remove redundant initialization of 'to_add'

Variable 'to_add' is being initialized however this value is never
read as 'to_add' is assigned a new value in if statement. Remove the
redundant assignment. At the same time, move its declaration into the
if statement, because the variable is not used elsewhere.

Clean up clang warning:

fs/btrfs/extent-tree.c:2773:8: warning: Value stored to 'to_add' during
its initialization is never read [clang-analyzer-deadcode.DeadStores]

Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Yang Li <[email protected]>
---
fs/btrfs/extent-tree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index f1d15b6..e7b2289 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2774,10 +2774,10 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
spin_unlock(&cache->lock);
if (!readonly && return_free_space &&
global_rsv->space_info == space_info) {
- u64 to_add = len;

spin_lock(&global_rsv->lock);
if (!global_rsv->full) {
+ u64 to_add;
to_add = min(len, global_rsv->size -
global_rsv->reserved);
global_rsv->reserved += to_add;
--
1.8.3.1



2021-05-16 10:26:37

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] btrfs: Remove redundant initialization of 'to_add'

On Fri, May 14, 2021 at 11:24 AM Yang Li <[email protected]> wrote:
>
> Variable 'to_add' is being initialized however this value is never
> read as 'to_add' is assigned a new value in if statement. Remove the
> redundant assignment. At the same time, move its declaration into the
> if statement, because the variable is not used elsewhere.
>
> Clean up clang warning:
>
> fs/btrfs/extent-tree.c:2773:8: warning: Value stored to 'to_add' during
> its initialization is never read [clang-analyzer-deadcode.DeadStores]
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Yang Li <[email protected]>
> ---
> fs/btrfs/extent-tree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index f1d15b6..e7b2289 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -2774,10 +2774,10 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
> spin_unlock(&cache->lock);
> if (!readonly && return_free_space &&
> global_rsv->space_info == space_info) {
> - u64 to_add = len;
>
> spin_lock(&global_rsv->lock);
> if (!global_rsv->full) {
> + u64 to_add;
> to_add = min(len, global_rsv->size -
> global_rsv->reserved);

Yang Li, you could just combine these two lines above, right?

So:
u64 to_add = min(len, ...);

By the way, great contribution on addressing all those dead stores
identified by clang analyzer... I wish I would also have more time on
addressing some of those remaining...

Lukas