diff options
Diffstat (limited to 'fs/xfs/xfs_inode.c')
| -rw-r--r-- | fs/xfs/xfs_inode.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 86c1bf0bba9e..1f8ecff8553a 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
| @@ -334,10 +334,9 @@ xfs_itobp( | |||
| 334 | #if !defined(__KERNEL__) | 334 | #if !defined(__KERNEL__) |
| 335 | ni = 0; | 335 | ni = 0; |
| 336 | #elif defined(DEBUG) | 336 | #elif defined(DEBUG) |
| 337 | ni = (imap_flags & XFS_IMAP_BULKSTAT) ? 0 : | 337 | ni = BBTOB(imap.im_len) >> mp->m_sb.sb_inodelog; |
| 338 | (BBTOB(imap.im_len) >> mp->m_sb.sb_inodelog); | ||
| 339 | #else /* usual case */ | 338 | #else /* usual case */ |
| 340 | ni = (imap_flags & XFS_IMAP_BULKSTAT) ? 0 : 1; | 339 | ni = 1; |
| 341 | #endif | 340 | #endif |
| 342 | 341 | ||
| 343 | for (i = 0; i < ni; i++) { | 342 | for (i = 0; i < ni; i++) { |
| @@ -348,11 +347,15 @@ xfs_itobp( | |||
| 348 | (i << mp->m_sb.sb_inodelog)); | 347 | (i << mp->m_sb.sb_inodelog)); |
| 349 | di_ok = INT_GET(dip->di_core.di_magic, ARCH_CONVERT) == XFS_DINODE_MAGIC && | 348 | di_ok = INT_GET(dip->di_core.di_magic, ARCH_CONVERT) == XFS_DINODE_MAGIC && |
| 350 | XFS_DINODE_GOOD_VERSION(INT_GET(dip->di_core.di_version, ARCH_CONVERT)); | 349 | XFS_DINODE_GOOD_VERSION(INT_GET(dip->di_core.di_version, ARCH_CONVERT)); |
| 351 | if (unlikely(XFS_TEST_ERROR(!di_ok, mp, XFS_ERRTAG_ITOBP_INOTOBP, | 350 | if (unlikely(XFS_TEST_ERROR(!di_ok, mp, |
| 352 | XFS_RANDOM_ITOBP_INOTOBP))) { | 351 | XFS_ERRTAG_ITOBP_INOTOBP, |
| 352 | XFS_RANDOM_ITOBP_INOTOBP))) { | ||
| 353 | if (imap_flags & XFS_IMAP_BULKSTAT) { | ||
| 354 | xfs_trans_brelse(tp, bp); | ||
| 355 | return XFS_ERROR(EINVAL); | ||
| 356 | } | ||
| 353 | #ifdef DEBUG | 357 | #ifdef DEBUG |
| 354 | if (!(imap_flags & XFS_IMAP_BULKSTAT)) | 358 | cmn_err(CE_ALERT, |
| 355 | cmn_err(CE_ALERT, | ||
| 356 | "Device %s - bad inode magic/vsn " | 359 | "Device %s - bad inode magic/vsn " |
| 357 | "daddr %lld #%d (magic=%x)", | 360 | "daddr %lld #%d (magic=%x)", |
| 358 | XFS_BUFTARG_NAME(mp->m_ddev_targp), | 361 | XFS_BUFTARG_NAME(mp->m_ddev_targp), |
