* [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
* [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 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 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 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
* 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