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

From: David Sterba
Date: Mon Jun 17 2019 - 08:36:09 EST


On Mon, Jun 17, 2019 at 01:07:28PM +0200, Arnd Bergmann wrote:
> 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.

Looks ok, patch added to devel queue, thanks.
>
> Fixes: d7400ee1b476 ("btrfs: use the existing reserved items for our first prop for inheritance")

I'd rather not add the Fixes tag here as it's just a compilation warning
for some old unknown version of gcc. I've checked that 8.3.1 and 9.1.1
don't print the warning and I consider any other version to be up to the
user of such environment to apply fixups as needed, but not to let the
stable machinery pick it up.