diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_inode_buf.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_inode_buf.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 002b6b3a1988..6526e7696184 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c | |||
@@ -46,8 +46,7 @@ xfs_inobp_check( | |||
46 | j = mp->m_inode_cluster_size >> mp->m_sb.sb_inodelog; | 46 | j = mp->m_inode_cluster_size >> mp->m_sb.sb_inodelog; |
47 | 47 | ||
48 | for (i = 0; i < j; i++) { | 48 | for (i = 0; i < j; i++) { |
49 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, | 49 | dip = xfs_buf_offset(bp, i * mp->m_sb.sb_inodesize); |
50 | i * mp->m_sb.sb_inodesize); | ||
51 | if (!dip->di_next_unlinked) { | 50 | if (!dip->di_next_unlinked) { |
52 | xfs_alert(mp, | 51 | xfs_alert(mp, |
53 | "Detected bogus zero next_unlinked field in inode %d buffer 0x%llx.", | 52 | "Detected bogus zero next_unlinked field in inode %d buffer 0x%llx.", |
@@ -86,8 +85,7 @@ xfs_inode_buf_verify( | |||
86 | int di_ok; | 85 | int di_ok; |
87 | xfs_dinode_t *dip; | 86 | xfs_dinode_t *dip; |
88 | 87 | ||
89 | dip = (struct xfs_dinode *)xfs_buf_offset(bp, | 88 | dip = xfs_buf_offset(bp, (i << mp->m_sb.sb_inodelog)); |
90 | (i << mp->m_sb.sb_inodelog)); | ||
91 | di_ok = dip->di_magic == cpu_to_be16(XFS_DINODE_MAGIC) && | 89 | di_ok = dip->di_magic == cpu_to_be16(XFS_DINODE_MAGIC) && |
92 | XFS_DINODE_GOOD_VERSION(dip->di_version); | 90 | XFS_DINODE_GOOD_VERSION(dip->di_version); |
93 | if (unlikely(XFS_TEST_ERROR(!di_ok, mp, | 91 | if (unlikely(XFS_TEST_ERROR(!di_ok, mp, |
@@ -186,7 +184,7 @@ xfs_imap_to_bp( | |||
186 | } | 184 | } |
187 | 185 | ||
188 | *bpp = bp; | 186 | *bpp = bp; |
189 | *dipp = (struct xfs_dinode *)xfs_buf_offset(bp, imap->im_boffset); | 187 | *dipp = xfs_buf_offset(bp, imap->im_boffset); |
190 | return 0; | 188 | return 0; |
191 | } | 189 | } |
192 | 190 | ||