xfs
[Top] [All Lists]

[PATCH 2/2] xfs: don't assert fail on bad inode numbers

To: xfs@xxxxxxxxxxx
Subject: [PATCH 2/2] xfs: don't assert fail on bad inode numbers
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 3 Sep 2013 21:47:38 +1000
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1378208858-20557-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1378208858-20557-1-git-send-email-david@xxxxxxxxxxxxx>
From: Dave Chinner <dchinner@xxxxxxxxxx>

Let the inode verifier do it's work by returning an error when we
fail to find correct magic numbers in an inode buffer.

Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
 fs/xfs/xfs_inode_buf.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/fs/xfs/xfs_inode_buf.c b/fs/xfs/xfs_inode_buf.c
index 3d25c9a..63382d3 100644
--- a/fs/xfs/xfs_inode_buf.c
+++ b/fs/xfs/xfs_inode_buf.c
@@ -53,9 +53,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);
                }
        }
 }
@@ -106,11 +105,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
                }
        }
-- 
1.8.3.2

<Prev in Thread] Current Thread [Next in Thread>