[PATCH] btrfs: shut up bogus -Wmaybe-uninitialized warning

From: Arnd Bergmann
Date: Mon Jun 17 2019 - 07:12:53 EST


gcc sometimes can't determine whether a variable has been initialized
when both the initialization and the use are conditional:

fs/btrfs/props.c: In function 'inherit_props':
fs/btrfs/props.c:389:4: error: 'num_bytes' may be used uninitialized in this function [-Werror=maybe-uninitialized]
btrfs_block_rsv_release(fs_info, trans->block_rsv,

This code is fine. Unfortunately, I cannot think of a good way to
rephrase it in a way that makes gcc understand this, so I add
a bogus initialization the way one should not.

Fixes: d7400ee1b476 ("btrfs: use the existing reserved items for our first prop for inheritance")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
fs/btrfs/props.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c
index a9e2e66152ee..9d47ae1cf5b2 100644
--- a/fs/btrfs/props.c
+++ b/fs/btrfs/props.c
@@ -341,7 +341,7 @@ static int inherit_props(struct btrfs_trans_handle *trans,
for (i = 0; i < ARRAY_SIZE(prop_handlers); i++) {
const struct prop_handler *h = &prop_handlers[i];
const char *value;
- u64 num_bytes;
+ u64 num_bytes = 0;

if (!h->inheritable)
continue;
--
2.20.0