* [PATCH 0/2] xfs: fix some sparse warnings. @ 2013-09-02 3:22 Dave Chinner 2013-09-02 3:22 ` [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() Dave Chinner 2013-09-02 3:22 ` [PATCH 2/2] xfs: fix some minor sparse warnings Dave Chinner 0 siblings, 2 replies; 9+ messages in thread From: Dave Chinner @ 2013-09-02 3:22 UTC (permalink / raw) To: xfs The first patch is a new warning from the log recovery ordering code - I used the wrong structure to pull the superblock LSN out of the on disk buffer. On most platforms there should be no actual bug here as both the xfs_sb and xfs_dsb have identical layouts. The second patch is just fixing a few bits of warning noise that sparse produces. There's not actual compiled code change from them. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() 2013-09-02 3:22 [PATCH 0/2] xfs: fix some sparse warnings Dave Chinner @ 2013-09-02 3:22 ` Dave Chinner 2013-09-02 8:18 ` Christoph Hellwig 2013-09-09 22:50 ` Ben Myers 2013-09-02 3:22 ` [PATCH 2/2] xfs: fix some minor sparse warnings Dave Chinner 1 sibling, 2 replies; 9+ messages in thread From: Dave Chinner @ 2013-09-02 3:22 UTC (permalink / raw) To: xfs From: Dave Chinner <dchinner@redhat.com> sparse reports: fs/xfs/xfs_log_recover.c:2017:24: sparse: cast to restricted __be64 Because I used the wrong structure for the on-disk superblock cast in 50d5c8d ("xfs: check LSN ordering for v5 superblocks during recovery"). Fix it. Reported-by: kbuild test robot Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_log_recover.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 8984ec4..1c3b0c9 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2014,7 +2014,7 @@ xlog_recover_get_buf_lsn( case XFS_ATTR3_RMT_MAGIC: return be64_to_cpu(((struct xfs_attr3_rmt_hdr *)blk)->rm_lsn); case XFS_SB_MAGIC: - return be64_to_cpu(((struct xfs_sb *)blk)->sb_lsn); + return be64_to_cpu(((struct xfs_dsb *)blk)->sb_lsn); default: break; } -- 1.8.3.2 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() 2013-09-02 3:22 ` [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() Dave Chinner @ 2013-09-02 8:18 ` Christoph Hellwig 2013-09-09 22:50 ` Ben Myers 1 sibling, 0 replies; 9+ messages in thread From: Christoph Hellwig @ 2013-09-02 8:18 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs On Mon, Sep 02, 2013 at 01:22:58PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > sparse reports: > > fs/xfs/xfs_log_recover.c:2017:24: sparse: cast to restricted __be64 > > Because I used the wrong structure for the on-disk superblock cast > in 50d5c8d ("xfs: check LSN ordering for v5 superblocks during > recovery"). Fix it. > > Reported-by: kbuild test robot > Signed-off-by: Dave Chinner <dchinner@redhat.com> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de> _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() 2013-09-02 3:22 ` [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() Dave Chinner 2013-09-02 8:18 ` Christoph Hellwig @ 2013-09-09 22:50 ` Ben Myers 1 sibling, 0 replies; 9+ messages in thread From: Ben Myers @ 2013-09-09 22:50 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs On Mon, Sep 02, 2013 at 01:22:58PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > sparse reports: > > fs/xfs/xfs_log_recover.c:2017:24: sparse: cast to restricted __be64 > > Because I used the wrong structure for the on-disk superblock cast > in 50d5c8d ("xfs: check LSN ordering for v5 superblocks during > recovery"). Fix it. > > Reported-by: kbuild test robot > Signed-off-by: Dave Chinner <dchinner@redhat.com> Applied. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] xfs: fix some minor sparse warnings 2013-09-02 3:22 [PATCH 0/2] xfs: fix some sparse warnings Dave Chinner 2013-09-02 3:22 ` [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() Dave Chinner @ 2013-09-02 3:22 ` Dave Chinner 2013-09-02 8:19 ` Christoph Hellwig 1 sibling, 1 reply; 9+ messages in thread From: Dave Chinner @ 2013-09-02 3:22 UTC (permalink / raw) To: xfs From: Dave Chinner <dchinner@redhat.com> A couple of simple locking annotations and 0 vs NULL warnings. Nothing that changes any code behaviour, just removes build noise. Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_dquot_item.c | 2 ++ fs/xfs/xfs_extent_busy.c | 2 ++ fs/xfs/xfs_ioctl.c | 2 +- fs/xfs/xfs_itable.c | 5 +++-- fs/xfs/xfs_log.c | 2 ++ 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index 92b8309..f47e65c 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c @@ -4450,7 +4450,7 @@ xfs_bmapi_write( { struct xfs_mount *mp = ip->i_mount; struct xfs_ifork *ifp; - struct xfs_bmalloca bma = { 0 }; /* args for xfs_bmap_alloc */ + struct xfs_bmalloca bma = { NULL }; /* args for xfs_bmap_alloc */ xfs_fileoff_t end; /* end of mapped file region */ int eof; /* after the end of extents */ int error; /* error return */ diff --git a/fs/xfs/xfs_dquot_item.c b/fs/xfs/xfs_dquot_item.c index 60c6e1f..77eb762 100644 --- a/fs/xfs/xfs_dquot_item.c +++ b/fs/xfs/xfs_dquot_item.c @@ -143,6 +143,8 @@ STATIC uint xfs_qm_dquot_logitem_push( struct xfs_log_item *lip, struct list_head *buffer_list) + __releases(&lip->li_ailp->xa_lock) + __acquires(&lip->li_ailp->xa_lock) { struct xfs_dquot *dqp = DQUOT_ITEM(lip)->qli_dquot; struct xfs_buf *bp = NULL; diff --git a/fs/xfs/xfs_extent_busy.c b/fs/xfs/xfs_extent_busy.c index 86f559f..504e51ee 100644 --- a/fs/xfs/xfs_extent_busy.c +++ b/fs/xfs/xfs_extent_busy.c @@ -161,6 +161,8 @@ xfs_extent_busy_update_extent( xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata) + __releases(&pag->pagb_lock) + __acquires(&pag->pagb_lock) { xfs_agblock_t fend = fbno + flen; xfs_agblock_t bbno = busyp->bno; diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index bdebc21..21d9c9df 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -71,7 +71,7 @@ xfs_find_handle( int hsize; xfs_handle_t handle; struct inode *inode; - struct fd f = {0}; + struct fd f = {NULL}; struct path path; int error; struct xfs_inode *ip; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index b93e14b..8a67d53 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -541,8 +541,9 @@ xfs_bulkstat_single( * at the expense of the error case. */ - ino = (xfs_ino_t)*lastinop; - error = xfs_bulkstat_one(mp, ino, buffer, sizeof(xfs_bstat_t), 0, &res); + ino = *lastinop; + error = xfs_bulkstat_one(mp, ino, buffer, sizeof(xfs_bstat_t), + NULL, &res); if (error) { /* * Special case way failed, do it the "long" way diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 5372d58..8215b63 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -258,6 +258,8 @@ xlog_grant_head_wait( struct xlog_grant_head *head, struct xlog_ticket *tic, int need_bytes) + __releases(&head->lock) + __acquires(&head->lock) { list_add_tail(&tic->t_queue, &head->waiters); -- 1.8.3.2 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] xfs: fix some minor sparse warnings 2013-09-02 3:22 ` [PATCH 2/2] xfs: fix some minor sparse warnings Dave Chinner @ 2013-09-02 8:19 ` Christoph Hellwig 2013-09-02 10:09 ` Dave Chinner 0 siblings, 1 reply; 9+ messages in thread From: Christoph Hellwig @ 2013-09-02 8:19 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs > --- a/fs/xfs/xfs_dquot_item.c > +++ b/fs/xfs/xfs_dquot_item.c > @@ -143,6 +143,8 @@ STATIC uint > xfs_qm_dquot_logitem_push( > struct xfs_log_item *lip, > struct list_head *buffer_list) > + __releases(&lip->li_ailp->xa_lock) > + __acquires(&lip->li_ailp->xa_lock) > { Having these markers indented the same amount as the parameters isn't very readable. Maybe give them another tab level? Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@lst.de> _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] xfs: fix some minor sparse warnings 2013-09-02 8:19 ` Christoph Hellwig @ 2013-09-02 10:09 ` Dave Chinner 2013-09-02 10:49 ` [PATCH 2/2 v2] " Dave Chinner 0 siblings, 1 reply; 9+ messages in thread From: Dave Chinner @ 2013-09-02 10:09 UTC (permalink / raw) To: Christoph Hellwig; +Cc: xfs On Mon, Sep 02, 2013 at 01:19:54AM -0700, Christoph Hellwig wrote: > > --- a/fs/xfs/xfs_dquot_item.c > > +++ b/fs/xfs/xfs_dquot_item.c > > @@ -143,6 +143,8 @@ STATIC uint > > xfs_qm_dquot_logitem_push( > > struct xfs_log_item *lip, > > struct list_head *buffer_list) > > + __releases(&lip->li_ailp->xa_lock) > > + __acquires(&lip->li_ailp->xa_lock) > > { > > Having these markers indented the same amount as the parameters isn't > very readable. Maybe give them another tab level? Sure. Can do. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2 v2] xfs: fix some minor sparse warnings 2013-09-02 10:09 ` Dave Chinner @ 2013-09-02 10:49 ` Dave Chinner 2013-09-09 22:50 ` Ben Myers 0 siblings, 1 reply; 9+ messages in thread From: Dave Chinner @ 2013-09-02 10:49 UTC (permalink / raw) To: Christoph Hellwig; +Cc: xfs xfs: fix some minor sparse warnings From: Dave Chinner <dchinner@redhat.com> A couple of simple locking annotations and 0 vs NULL warnings. Nothing that changes any code behaviour, just removes build noise. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> --- v2: move __release annotations to match the other notations in the XFS code at the end of the function declaration. fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_dquot_item.c | 3 ++- fs/xfs/xfs_extent_busy.c | 3 ++- fs/xfs/xfs_ioctl.c | 2 +- fs/xfs/xfs_itable.c | 5 +++-- fs/xfs/xfs_log.c | 3 ++- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index 92b8309..f47e65c 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c @@ -4450,7 +4450,7 @@ xfs_bmapi_write( { struct xfs_mount *mp = ip->i_mount; struct xfs_ifork *ifp; - struct xfs_bmalloca bma = { 0 }; /* args for xfs_bmap_alloc */ + struct xfs_bmalloca bma = { NULL }; /* args for xfs_bmap_alloc */ xfs_fileoff_t end; /* end of mapped file region */ int eof; /* after the end of extents */ int error; /* error return */ diff --git a/fs/xfs/xfs_dquot_item.c b/fs/xfs/xfs_dquot_item.c index 60c6e1f..e838d84 100644 --- a/fs/xfs/xfs_dquot_item.c +++ b/fs/xfs/xfs_dquot_item.c @@ -142,7 +142,8 @@ xfs_qm_dqunpin_wait( STATIC uint xfs_qm_dquot_logitem_push( struct xfs_log_item *lip, - struct list_head *buffer_list) + struct list_head *buffer_list) __releases(&lip->li_ailp->xa_lock) + __acquires(&lip->li_ailp->xa_lock) { struct xfs_dquot *dqp = DQUOT_ITEM(lip)->qli_dquot; struct xfs_buf *bp = NULL; diff --git a/fs/xfs/xfs_extent_busy.c b/fs/xfs/xfs_extent_busy.c index 86f559f..e43708e 100644 --- a/fs/xfs/xfs_extent_busy.c +++ b/fs/xfs/xfs_extent_busy.c @@ -160,7 +160,8 @@ xfs_extent_busy_update_extent( struct xfs_extent_busy *busyp, xfs_agblock_t fbno, xfs_extlen_t flen, - bool userdata) + bool userdata) __releases(&pag->pagb_lock) + __acquires(&pag->pagb_lock) { xfs_agblock_t fend = fbno + flen; xfs_agblock_t bbno = busyp->bno; diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index bdebc21..21d9c9df 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -71,7 +71,7 @@ xfs_find_handle( int hsize; xfs_handle_t handle; struct inode *inode; - struct fd f = {0}; + struct fd f = {NULL}; struct path path; int error; struct xfs_inode *ip; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index b93e14b..8a67d53 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -541,8 +541,9 @@ xfs_bulkstat_single( * at the expense of the error case. */ - ino = (xfs_ino_t)*lastinop; - error = xfs_bulkstat_one(mp, ino, buffer, sizeof(xfs_bstat_t), 0, &res); + ino = *lastinop; + error = xfs_bulkstat_one(mp, ino, buffer, sizeof(xfs_bstat_t), + NULL, &res); if (error) { /* * Special case way failed, do it the "long" way diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 5372d58..a2dea108 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -257,7 +257,8 @@ xlog_grant_head_wait( struct xlog *log, struct xlog_grant_head *head, struct xlog_ticket *tic, - int need_bytes) + int need_bytes) __releases(&head->lock) + __acquires(&head->lock) { list_add_tail(&tic->t_queue, &head->waiters); _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2 v2] xfs: fix some minor sparse warnings 2013-09-02 10:49 ` [PATCH 2/2 v2] " Dave Chinner @ 2013-09-09 22:50 ` Ben Myers 0 siblings, 0 replies; 9+ messages in thread From: Ben Myers @ 2013-09-09 22:50 UTC (permalink / raw) To: Dave Chinner; +Cc: Christoph Hellwig, xfs On Mon, Sep 02, 2013 at 08:49:36PM +1000, Dave Chinner wrote: > xfs: fix some minor sparse warnings > > From: Dave Chinner <dchinner@redhat.com> > > A couple of simple locking annotations and 0 vs NULL warnings. > Nothing that changes any code behaviour, just removes build noise. > > Signed-off-by: Dave Chinner <dchinner@redhat.com> > Reviewed-by: Christoph Hellwig <hch@lst.de> Applied. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-09-09 22:50 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-02 3:22 [PATCH 0/2] xfs: fix some sparse warnings Dave Chinner 2013-09-02 3:22 ` [PATCH 1/2] xfs: fix endian warning in xlog_recover_get_buf_lsn() Dave Chinner 2013-09-02 8:18 ` Christoph Hellwig 2013-09-09 22:50 ` Ben Myers 2013-09-02 3:22 ` [PATCH 2/2] xfs: fix some minor sparse warnings Dave Chinner 2013-09-02 8:19 ` Christoph Hellwig 2013-09-02 10:09 ` Dave Chinner 2013-09-02 10:49 ` [PATCH 2/2 v2] " Dave Chinner 2013-09-09 22:50 ` Ben Myers
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox