[PATCH] Re: linux-next: build warning after merge of the xfs tree

From: Dave Chinner
Date: Wed Mar 03 2010 - 19:57:32 EST

On Thu, Mar 04, 2010 at 11:19:30AM +1100, Stephen Rothwell wrote:
> Hi Dave,
> After merging the xfs tree, today's linux-next build (x86_64 allmodconfig)
> produced this warning:
> fs/xfs/linux-2.6/xfs_aops.c: In function 'xfs_end_io':
> fs/xfs/linux-2.6/xfs_aops.c:232: warning: 'error' may be used uninitialized in this function
> Introduced by commit 77d7a0c2eeb285c9069e15396703d0cb9690ac50 ("xfs:
> Non-blocking inode locking in IO completion").
> I can't tell if this is a false positive. If the first two "if"
> statement bodies are skipped, then error is tested uninitialised. It is
> possible that at least one of them has to be executed.

Right, there is a warning being generated there - I thought I fixed
that immediately after posting the first version of the patch. The
second version:


definitely had it fixed.

Alex, can you make sure you take the entire patch rather than
cutting and pasting bits from one patch version to another? That
way you don't miss small changes to the patch that might have been
forgotten about....

Stephen, the patch below should fix the warning.


Dave Chinner

xfs: fix uninitialised variable warning in xfs_end_io

Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
fs/xfs/linux-2.6/xfs_aops.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index f41a2d8..8989c16 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -230,7 +230,7 @@ xfs_end_io(
xfs_ioend_t *ioend = container_of(work, xfs_ioend_t, io_work);
struct xfs_inode *ip = XFS_I(ioend->io_inode);
- int error;
+ int error = 0;

* For unwritten extents we need to issue transactions to convert a
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/