aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ialloc.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-06-23 21:35:17 -0400
committerDave Chinner <david@fromorbit.com>2010-06-23 21:35:17 -0400
commit7b6259e7a83647948fa33a736cc832310c8d85aa (patch)
tree99bb872b179a93f5e32b51f312029abb1237b055 /fs/xfs/xfs_ialloc.c
parent1920779e67cbf5ea8afef317777c5bf2b8096188 (diff)
xfs: remove block number from inode lookup code
The block number comes from bulkstat based inode lookups to shortcut the mapping calculations. We ar enot able to trust anything from bulkstat, so drop the block number as well so that the correct lookups and mappings are always done. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_ialloc.c')
-rw-r--r--fs/xfs/xfs_ialloc.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c
index d8fd36685eb9..c7142a064c48 100644
--- a/fs/xfs/xfs_ialloc.c
+++ b/fs/xfs/xfs_ialloc.c
@@ -1355,22 +1355,6 @@ xfs_imap(
1355 } 1355 }
1356 1356
1357 /* 1357 /*
1358 * If we get a block number passed we can use it to
1359 * find the buffer easily.
1360 */
1361 if (imap->im_blkno) {
1362 offset = XFS_INO_TO_OFFSET(mp, ino);
1363 ASSERT(offset < mp->m_sb.sb_inopblock);
1364
1365 cluster_agbno = xfs_daddr_to_agbno(mp, imap->im_blkno);
1366 offset += (agbno - cluster_agbno) * mp->m_sb.sb_inopblock;
1367
1368 imap->im_len = XFS_FSB_TO_BB(mp, blks_per_cluster);
1369 imap->im_boffset = (ushort)(offset << mp->m_sb.sb_inodelog);
1370 return 0;
1371 }
1372
1373 /*
1374 * If the inode chunks are aligned then use simple maths to 1358 * If the inode chunks are aligned then use simple maths to
1375 * find the location. Otherwise we have to do a btree 1359 * find the location. Otherwise we have to do a btree
1376 * lookup to find the location. 1360 * lookup to find the location.