xfs: check correct status variable for xfs_inobt_get_rec() call
authorBrian Foster <bfoster@redhat.com>
Tue, 27 Aug 2013 21:15:45 +0000 (17:15 -0400)
committerBen Myers <bpm@sgi.com>
Fri, 30 Aug 2013 18:48:35 +0000 (13:48 -0500)
The call to xfs_inobt_get_rec() in xfs_dialloc_ag() passes 'j' as
the output status variable. The immediately following
XFS_WANT_CORRUPTED_GOTO() checks the value of 'i,' which is from
the previous lookup call and has already been checked. Fix the
corruption check to use 'j.'

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_ialloc.c

index 6bee95d8a73edfe2232156512509a6de16758423..ccf2fb1439629fae273a239625f97f6879192878 100644 (file)
@@ -729,7 +729,7 @@ xfs_dialloc_ag(
                error = xfs_inobt_get_rec(cur, &rec, &j);
                if (error)
                        goto error0;
-               XFS_WANT_CORRUPTED_GOTO(i == 1, error0);
+               XFS_WANT_CORRUPTED_GOTO(j == 1, error0);
 
                if (rec.ir_freecount > 0) {
                        /*