* [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() @ 2017-08-31 16:04 Brian Foster 2017-08-31 16:41 ` Darrick J. Wong 0 siblings, 1 reply; 5+ messages in thread From: Brian Foster @ 2017-08-31 16:04 UTC (permalink / raw) To: linux-xfs The ordered variable generates an unused warning on !DEBUG builds. Separate the initialization of the associated variables from the declarations to quiet gcc. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_buf_item.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index ef2c137..f5d25f5 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -567,10 +567,15 @@ xfs_buf_item_unlock( { struct xfs_buf_log_item *bip = BUF_ITEM(lip); struct xfs_buf *bp = bip->bli_buf; - bool aborted = !!(lip->li_flags & XFS_LI_ABORTED); - bool hold = !!(bip->bli_flags & XFS_BLI_HOLD); - bool dirty = !!(bip->bli_flags & XFS_BLI_DIRTY); - bool ordered = !!(bip->bli_flags & XFS_BLI_ORDERED); + bool aborted; + bool hold; + bool dirty; + bool ordered; + + aborted = !!(lip->li_flags & XFS_LI_ABORTED); + hold = !!(bip->bli_flags & XFS_BLI_HOLD); + dirty = !!(bip->bli_flags & XFS_BLI_DIRTY); + ordered = !!(bip->bli_flags & XFS_BLI_ORDERED); /* Clear the buffer's association with this transaction. */ bp->b_transp = NULL; -- 2.9.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() 2017-08-31 16:04 [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() Brian Foster @ 2017-08-31 16:41 ` Darrick J. Wong 2017-08-31 21:52 ` Dave Chinner 0 siblings, 1 reply; 5+ messages in thread From: Darrick J. Wong @ 2017-08-31 16:41 UTC (permalink / raw) To: Brian Foster; +Cc: linux-xfs On Thu, Aug 31, 2017 at 12:04:58PM -0400, Brian Foster wrote: > The ordered variable generates an unused warning on !DEBUG builds. > Separate the initialization of the associated variables from the > declarations to quiet gcc. > > Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> > --- > fs/xfs/xfs_buf_item.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c > index ef2c137..f5d25f5 100644 > --- a/fs/xfs/xfs_buf_item.c > +++ b/fs/xfs/xfs_buf_item.c > @@ -567,10 +567,15 @@ xfs_buf_item_unlock( > { > struct xfs_buf_log_item *bip = BUF_ITEM(lip); > struct xfs_buf *bp = bip->bli_buf; > - bool aborted = !!(lip->li_flags & XFS_LI_ABORTED); > - bool hold = !!(bip->bli_flags & XFS_BLI_HOLD); > - bool dirty = !!(bip->bli_flags & XFS_BLI_DIRTY); > - bool ordered = !!(bip->bli_flags & XFS_BLI_ORDERED); > + bool aborted; > + bool hold; > + bool dirty; > + bool ordered; > + > + aborted = !!(lip->li_flags & XFS_LI_ABORTED); > + hold = !!(bip->bli_flags & XFS_BLI_HOLD); > + dirty = !!(bip->bli_flags & XFS_BLI_DIRTY); > + ordered = !!(bip->bli_flags & XFS_BLI_ORDERED); > > /* Clear the buffer's association with this transaction. */ > bp->b_transp = NULL; > -- > 2.9.5 > > -- > 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() 2017-08-31 16:41 ` Darrick J. Wong @ 2017-08-31 21:52 ` Dave Chinner 2017-09-01 10:24 ` Brian Foster 0 siblings, 1 reply; 5+ messages in thread From: Dave Chinner @ 2017-08-31 21:52 UTC (permalink / raw) To: Darrick J. Wong; +Cc: Brian Foster, linux-xfs On Thu, Aug 31, 2017 at 09:41:07AM -0700, Darrick J. Wong wrote: > On Thu, Aug 31, 2017 at 12:04:58PM -0400, Brian Foster wrote: > > The ordered variable generates an unused warning on !DEBUG builds. > > Separate the initialization of the associated variables from the > > declarations to quiet gcc. > > > > Signed-off-by: Brian Foster <bfoster@redhat.com> > > Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> And merged before everyone in different timezones has had a chance to comment. :( I just built the latest for-next with CONFIG_XFS_DEBUG=n and there's three set-but-unused warnings, one of which is introduced by this patch. fs/xfs/libxfs/xfs_inode_fork.c: In function ¿xfs_iext_realloc_indirect¿: fs/xfs/libxfs/xfs_inode_fork.c:1503:7: error: variable ¿size¿ set but not used [-Werror=unused-but-set-variable] int size; /* current indirection array size */ ^~~~ fs/xfs/xfs_buf_item.c: In function ¿xfs_buf_item_unlock¿: fs/xfs/xfs_buf_item.c:573:9: error: variable ¿ordered¿ set but not used [-Werror=unused-but-set-variable] bool ordered; ^~~~~~~ fs/xfs/xfs_log_recover.c: In function ¿xlog_recover_process_intents¿: fs/xfs/xfs_log_recover.c:4830:13: error: variable ¿last_lsn¿ set but not used [-Werror=unused-but-set-variable] xfs_lsn_t last_lsn; ^~~~~~~~ Yeah, maintainer habits die hard; I'm still patching fs/xfs/Makefile in my build trees with this: -ccflags-y += -I$(src) # needed for trace events +ccflags-y += -I$(src) -Werror -Wunused-but-set-variable Which catches stupid problems like this that will the userspace libxfs build will trip over when the next merge occurs. Playing games with declaration/initialisation order to avoid warnigns just doesn't work. Cheers, Dave. -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() 2017-08-31 21:52 ` Dave Chinner @ 2017-09-01 10:24 ` Brian Foster 2017-09-01 22:07 ` Dave Chinner 0 siblings, 1 reply; 5+ messages in thread From: Brian Foster @ 2017-09-01 10:24 UTC (permalink / raw) To: Dave Chinner; +Cc: Darrick J. Wong, linux-xfs On Fri, Sep 01, 2017 at 07:52:09AM +1000, Dave Chinner wrote: > On Thu, Aug 31, 2017 at 09:41:07AM -0700, Darrick J. Wong wrote: > > On Thu, Aug 31, 2017 at 12:04:58PM -0400, Brian Foster wrote: > > > The ordered variable generates an unused warning on !DEBUG builds. > > > Separate the initialization of the associated variables from the > > > declarations to quiet gcc. > > > > > > Signed-off-by: Brian Foster <bfoster@redhat.com> > > > > Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> > > And merged before everyone in different timezones has had a chance > to comment. :( > > I just built the latest for-next with CONFIG_XFS_DEBUG=n and there's > three set-but-unused warnings, one of which is introduced by this > patch. > > fs/xfs/libxfs/xfs_inode_fork.c: In function ¿xfs_iext_realloc_indirect¿: > fs/xfs/libxfs/xfs_inode_fork.c:1503:7: error: variable ¿size¿ set but not used [-Werror=unused-but-set-variable] > int size; /* current indirection array size */ > ^~~~ > > fs/xfs/xfs_buf_item.c: In function ¿xfs_buf_item_unlock¿: > fs/xfs/xfs_buf_item.c:573:9: error: variable ¿ordered¿ set but not used [-Werror=unused-but-set-variable] > bool ordered; > ^~~~~~~ > > fs/xfs/xfs_log_recover.c: In function ¿xlog_recover_process_intents¿: > fs/xfs/xfs_log_recover.c:4830:13: error: variable ¿last_lsn¿ set but not used [-Werror=unused-but-set-variable] > xfs_lsn_t last_lsn; > ^~~~~~~~ > > Yeah, maintainer habits die hard; I'm still patching fs/xfs/Makefile > in my build trees with this: > > -ccflags-y += -I$(src) # needed for trace events > +ccflags-y += -I$(src) -Werror -Wunused-but-set-variable > > Which catches stupid problems like this that will the userspace > libxfs build will trip over when the next merge occurs. > Note that the associated bli code is not shared with userspace, fwiw. We should probably fix the warnings regardless... Hmm, I don't see that option enabled in xfsprogs. Is the issue then that it is more of a default behavior and the kernel disables it somewhere? After poking around a bit, that appears to be the case. We can run 'make W=1' to generate these (and more) in the kernel build. Brian > Playing games with declaration/initialisation order to avoid > warnigns just doesn't work. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- > 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() 2017-09-01 10:24 ` Brian Foster @ 2017-09-01 22:07 ` Dave Chinner 0 siblings, 0 replies; 5+ messages in thread From: Dave Chinner @ 2017-09-01 22:07 UTC (permalink / raw) To: Brian Foster; +Cc: Darrick J. Wong, linux-xfs On Fri, Sep 01, 2017 at 06:24:20AM -0400, Brian Foster wrote: > On Fri, Sep 01, 2017 at 07:52:09AM +1000, Dave Chinner wrote: > > On Thu, Aug 31, 2017 at 09:41:07AM -0700, Darrick J. Wong wrote: > > > On Thu, Aug 31, 2017 at 12:04:58PM -0400, Brian Foster wrote: > > > > The ordered variable generates an unused warning on !DEBUG builds. > > > > Separate the initialization of the associated variables from the > > > > declarations to quiet gcc. > > > > > > > > Signed-off-by: Brian Foster <bfoster@redhat.com> > > > > > > Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> > > > > And merged before everyone in different timezones has had a chance > > to comment. :( > > > > I just built the latest for-next with CONFIG_XFS_DEBUG=n and there's > > three set-but-unused warnings, one of which is introduced by this > > patch. > > > > fs/xfs/libxfs/xfs_inode_fork.c: In function ¿xfs_iext_realloc_indirect¿: > > fs/xfs/libxfs/xfs_inode_fork.c:1503:7: error: variable ¿size¿ set but not used [-Werror=unused-but-set-variable] > > int size; /* current indirection array size */ > > ^~~~ > > > > fs/xfs/xfs_buf_item.c: In function ¿xfs_buf_item_unlock¿: > > fs/xfs/xfs_buf_item.c:573:9: error: variable ¿ordered¿ set but not used [-Werror=unused-but-set-variable] > > bool ordered; > > ^~~~~~~ > > > > fs/xfs/xfs_log_recover.c: In function ¿xlog_recover_process_intents¿: > > fs/xfs/xfs_log_recover.c:4830:13: error: variable ¿last_lsn¿ set but not used [-Werror=unused-but-set-variable] > > xfs_lsn_t last_lsn; > > ^~~~~~~~ > > > > Yeah, maintainer habits die hard; I'm still patching fs/xfs/Makefile > > in my build trees with this: > > > > -ccflags-y += -I$(src) # needed for trace events > > +ccflags-y += -I$(src) -Werror -Wunused-but-set-variable > > > > Which catches stupid problems like this that will the userspace > > libxfs build will trip over when the next merge occurs. > > > > Note that the associated bli code is not shared with userspace, fwiw. We > should probably fix the warnings regardless... > > Hmm, I don't see that option enabled in xfsprogs. Is the issue then that > it is more of a default behavior and the kernel disables it somewhere? Yup, it's default gcc behaviour since early 5.x, IIRC, and the kernel build disables a bunch of different warnings including this one. > After poking around a bit, that appears to be the case. We can run 'make > W=1' to generate these (and more) in the kernel build. Oh, yeah, but we don't want to do that by default because the kernel headers throw huge numbers of warnings (e.g. signed v unsigned char) that won't ever get fixed. There's been heat and light expended on LKML over fixing these warnings in the past, but the only outcome of those discussion was to add the "-W1" option to allow people who cared to see all the warnings that don't indicate a problem and so won't get fixed.... Hence I started adding my own flags for XFS builds so I would avoid adding code to the kernel that would throw userspace warnings. Cheers, Dave. -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-09-01 22:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-08-31 16:04 [PATCH] xfs: fix unused variable warning in xfs_buf_item_unlock() Brian Foster 2017-08-31 16:41 ` Darrick J. Wong 2017-08-31 21:52 ` Dave Chinner 2017-09-01 10:24 ` Brian Foster 2017-09-01 22:07 ` Dave Chinner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.