2020-04-29 13:30:13

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] btrfs: fix gcc-4.8 build warning

Some older compilers like gcc-4.8 warn about mismatched curly
braces in a initializer:

fs/btrfs/backref.c: In function 'is_shared_data_backref':
fs/btrfs/backref.c:394:9: error: missing braces around
initializer [-Werror=missing-braces]
struct prelim_ref target = {0};
^
fs/btrfs/backref.c:394:9: error: (near initialization for
'target.rbnode') [-Werror=missing-braces]

Use the GNU empty initializer extension to avoid this.

Fixes: ed58f2e66e84 ("btrfs: backref, don't add refs from shared block when resolving normal backref")
Signed-off-by: Arnd Bergmann <[email protected]>
---
fs/btrfs/backref.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index 60a69f7c0b36..ac3c34f47b56 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -392,7 +392,7 @@ static int is_shared_data_backref(struct preftrees *preftrees, u64 bytenr)
struct rb_node **p = &preftrees->direct.root.rb_root.rb_node;
struct rb_node *parent = NULL;
struct prelim_ref *ref = NULL;
- struct prelim_ref target = {0};
+ struct prelim_ref target = {};
int result;

target.parent = bytenr;
--
2.26.0


2020-04-29 13:34:53

by Qu Wenruo

[permalink] [raw]
Subject: Re: [PATCH] btrfs: fix gcc-4.8 build warning



On 2020/4/29 下午9:27, Arnd Bergmann wrote:
> Some older compilers like gcc-4.8 warn about mismatched curly
> braces in a initializer:
>
> fs/btrfs/backref.c: In function 'is_shared_data_backref':
> fs/btrfs/backref.c:394:9: error: missing braces around
> initializer [-Werror=missing-braces]
> struct prelim_ref target = {0};
> ^
> fs/btrfs/backref.c:394:9: error: (near initialization for
> 'target.rbnode') [-Werror=missing-braces]
>
> Use the GNU empty initializer extension to avoid this.
>
> Fixes: ed58f2e66e84 ("btrfs: backref, don't add refs from shared block when resolving normal backref")

OK, at least this fix is mentioning it's older gcc causing problem, and
the fix using GNU extension is also clear.

Reviewed-by: Qu Wenruo <[email protected]>

Thanks,
Qu

> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> fs/btrfs/backref.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
> index 60a69f7c0b36..ac3c34f47b56 100644
> --- a/fs/btrfs/backref.c
> +++ b/fs/btrfs/backref.c
> @@ -392,7 +392,7 @@ static int is_shared_data_backref(struct preftrees *preftrees, u64 bytenr)
> struct rb_node **p = &preftrees->direct.root.rb_root.rb_node;
> struct rb_node *parent = NULL;
> struct prelim_ref *ref = NULL;
> - struct prelim_ref target = {0};
> + struct prelim_ref target = {};
> int result;
>
> target.parent = bytenr;
>


Attachments:
signature.asc (499.00 B)
OpenPGP digital signature

2020-04-29 23:51:03

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH] btrfs: fix gcc-4.8 build warning

On Wed, Apr 29, 2020 at 03:27:32PM +0200, Arnd Bergmann wrote:
> Some older compilers like gcc-4.8 warn about mismatched curly
> braces in a initializer:
>
> fs/btrfs/backref.c: In function 'is_shared_data_backref':
> fs/btrfs/backref.c:394:9: error: missing braces around
> initializer [-Werror=missing-braces]
> struct prelim_ref target = {0};
> ^
> fs/btrfs/backref.c:394:9: error: (near initialization for
> 'target.rbnode') [-Werror=missing-braces]
>
> Use the GNU empty initializer extension to avoid this.
>
> Fixes: ed58f2e66e84 ("btrfs: backref, don't add refs from shared block when resolving normal backref")
> Signed-off-by: Arnd Bergmann <[email protected]>

Added to devel queue, thanks.