Re: [PATCH 06/32] xfs: don't assert fail on bad inode numbers

Eric Sandeen
2013-10-08T23:09:47Z

On 9/29/13 10:15 PM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> Let the inode verifier do it's work by returning an error when we
> fail to find correct magic numbers in an inode buffer.

Makes sense & matches kernel 74ffa796e127906883cacedcf3871494192c9e42

Reviewed-by: Eric Sandeen <sandeen@redhat.com>

> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> libxfs/xfs_inode_buf.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/libxfs/xfs_inode_buf.c b/libxfs/xfs_inode_buf.c
> index 6205318..b096f77 100644
> --- a/libxfs/xfs_inode_buf.c
> +++ b/libxfs/xfs_inode_buf.c
> @@ -39,9 +39,8 @@ xfs_inobp_check(
> i * mp->m_sb.sb_inodesize);
> if (!dip->di_next_unlinked) {
> xfs_alert(mp,
> - "Detected bogus zero next_unlinked field in incore inode buffer 0x%p.",
> - bp);
> - ASSERT(dip->di_next_unlinked);
> + "Detected bogus zero next_unlinked field in inode %d buffer 0x%llx.",
> + i, (long long)bp->b_bn);
> }
> }
> }
> @@ -74,11 +73,10 @@ xfs_inode_buf_verify(
> XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_HIGH,
> mp, dip);
> #ifdef DEBUG
> - xfs_emerg(mp,
> + xfs_alert(mp,
> "bad inode magic/vsn daddr %lld #%d (magic=%x)",
> (unsigned long long)bp->b_bn, i,
> be16_to_cpu(dip->di_magic));
> - ASSERT(0);
> #endif
> }
> }
>