Message ID | 1517480584-4588-1-git-send-email-geert@linux-m68k.org (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
On Thu, Feb 1, 2018 at 11:23 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > With gcc-4.1.2: > > fs/xfs/scrub/agheader.c: In function ‘xfs_scrub_agfl’: > fs/xfs/scrub/agheader.c:770: warning: missing braces around initializer > fs/xfs/scrub/agheader.c:770: warning: (near initialization for ‘sai.oinfo’) > > The first member of struct xfs_scrub_agfl_info is no longer an integral > type, but a struct. Add the missing curly braces to fix this. I suspect gcc-4.5 is affected as well, but not 4.6+ > --- a/fs/xfs/scrub/agheader.c > +++ b/fs/xfs/scrub/agheader.c > @@ -767,7 +767,7 @@ int > xfs_scrub_agfl( > struct xfs_scrub_context *sc) > { > - struct xfs_scrub_agfl_info sai = { 0 }; > + struct xfs_scrub_agfl_info sai = { { 0 } }; > struct xfs_agf *agf; Looks ok to me, but struct xfs_scrub_agfl_info sai = { }; might be slightly better in case the first member changes again. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Feb 01, 2018 at 12:31:36PM +0100, Arnd Bergmann wrote: > On Thu, Feb 1, 2018 at 11:23 AM, Geert Uytterhoeven > <geert@linux-m68k.org> wrote: > > With gcc-4.1.2: > > > > fs/xfs/scrub/agheader.c: In function ‘xfs_scrub_agfl’: > > fs/xfs/scrub/agheader.c:770: warning: missing braces around initializer > > fs/xfs/scrub/agheader.c:770: warning: (near initialization for ‘sai.oinfo’) > > > > The first member of struct xfs_scrub_agfl_info is no longer an integral > > type, but a struct. Add the missing curly braces to fix this. > > I suspect gcc-4.5 is affected as well, but not 4.6+ > > > --- a/fs/xfs/scrub/agheader.c > > +++ b/fs/xfs/scrub/agheader.c > > @@ -767,7 +767,7 @@ int > > xfs_scrub_agfl( > > struct xfs_scrub_context *sc) > > { > > - struct xfs_scrub_agfl_info sai = { 0 }; > > + struct xfs_scrub_agfl_info sai = { { 0 } }; > > struct xfs_agf *agf; > > Looks ok to me, but > > struct xfs_scrub_agfl_info sai = { }; > > might be slightly better in case the first member changes again. Frankly I'd rather see it changed to memset(&sai, 0, sizeof(sai)); and stop having to field all these gcc warnings that vary depending on compiler version... --D > > Arnd > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2018-02-01 at 09:08 -0800, Darrick J. Wong wrote: > On Thu, Feb 01, 2018 at 12:31:36PM +0100, Arnd Bergmann wrote: > > On Thu, Feb 1, 2018 at 11:23 AM, Geert Uytterhoeven > > <geert@linux-m68k.org> wrote: > > > With gcc-4.1.2: > > > > > > fs/xfs/scrub/agheader.c: In function ‘xfs_scrub_agfl’: > > > fs/xfs/scrub/agheader.c:770: warning: missing braces around initializer > > > fs/xfs/scrub/agheader.c:770: warning: (near initialization for ‘sai.oinfo’) > > > > > > The first member of struct xfs_scrub_agfl_info is no longer an integral > > > type, but a struct. Add the missing curly braces to fix this. > > > > I suspect gcc-4.5 is affected as well, but not 4.6+ > > > > > --- a/fs/xfs/scrub/agheader.c > > > +++ b/fs/xfs/scrub/agheader.c > > > @@ -767,7 +767,7 @@ int > > > xfs_scrub_agfl( > > > struct xfs_scrub_context *sc) > > > { > > > - struct xfs_scrub_agfl_info sai = { 0 }; > > > + struct xfs_scrub_agfl_info sai = { { 0 } }; > > > struct xfs_agf *agf; > > > > Looks ok to me, but > > > > struct xfs_scrub_agfl_info sai = { }; > > > > might be slightly better in case the first member changes again. > > Frankly I'd rather see it changed to memset(&sai, 0, sizeof(sai)); and > stop having to field all these gcc warnings that vary depending on > compiler version... trivia: memset should also be preferred if the structure could be copied to userspace as the "= {}" is not guaranteed to zero any possible padding or member alignment holes. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/xfs/scrub/agheader.c b/fs/xfs/scrub/agheader.c index fd975524f4603387..9bcfdb0d1da379f5 100644 --- a/fs/xfs/scrub/agheader.c +++ b/fs/xfs/scrub/agheader.c @@ -767,7 +767,7 @@ int xfs_scrub_agfl( struct xfs_scrub_context *sc) { - struct xfs_scrub_agfl_info sai = { 0 }; + struct xfs_scrub_agfl_info sai = { { 0 } }; struct xfs_agf *agf; xfs_agnumber_t agno; unsigned int agflcount;
With gcc-4.1.2: fs/xfs/scrub/agheader.c: In function ‘xfs_scrub_agfl’: fs/xfs/scrub/agheader.c:770: warning: missing braces around initializer fs/xfs/scrub/agheader.c:770: warning: (near initialization for ‘sai.oinfo’) The first member of struct xfs_scrub_agfl_info is no longer an integral type, but a struct. Add the missing curly braces to fix this. Fixes: d852657ccfc0e455 ("xfs: cross-reference reverse-mapping btree") Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- fs/xfs/scrub/agheader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)