|
> Dave Chinner <mailto:david@xxxxxxxxxxxxx> wrote:
> 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:
>
> http://oss.sgi.com/archives/xfs/2010-02/msg00340.html
>
> 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....
I didn't expect you would change the patch content, only
the description. I had already tested the previous code
so just grabbed the new description when you re-posted.
Sorry about the warning slipping through. I'll incorporate
your fix below (tomorrow).
-Alex
> Stephen, the patch below should fix the warning.
>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@xxxxxxxxxxxxx
>
> 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
>
>
|