summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2_leaf.c
diff options
context:
space:
mode:
authorDave Chinner2012-11-12 12:54:18 +0100
committerBen Myers2012-11-16 04:34:57 +0100
commitda6958c873ecd846d71fafbfe0f6168bb9c2c99e (patch)
tree638e8ec75ef0592dd896f74e2b2215af3021bf0a /fs/xfs/xfs_dir2_leaf.c
parentxfs: add xfs_da_node verification (diff)
downloadkernel-qcow2-linux-da6958c873ecd846d71fafbfe0f6168bb9c2c99e.tar.gz
kernel-qcow2-linux-da6958c873ecd846d71fafbfe0f6168bb9c2c99e.tar.xz
kernel-qcow2-linux-da6958c873ecd846d71fafbfe0f6168bb9c2c99e.zip
xfs: Add verifiers to dir2 data readahead.
Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Phil White <pwhite@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dir2_leaf.c')
-rw-r--r--fs/xfs/xfs_dir2_leaf.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/xfs/xfs_dir2_leaf.c b/fs/xfs/xfs_dir2_leaf.c
index 67cc21c2a45d..8a95547d42ac 100644
--- a/fs/xfs/xfs_dir2_leaf.c
+++ b/fs/xfs/xfs_dir2_leaf.c
@@ -972,11 +972,11 @@ xfs_dir2_leaf_readbuf(
*/
if (i > mip->ra_current &&
map[mip->ra_index].br_blockcount >= mp->m_dirblkfsbs) {
- xfs_buf_readahead(mp->m_ddev_targp,
+ xfs_dir2_data_readahead(NULL, dp,
+ map[mip->ra_index].br_startoff + mip->ra_offset,
XFS_FSB_TO_DADDR(mp,
map[mip->ra_index].br_startblock +
- mip->ra_offset),
- (int)BTOBB(mp->m_dirblksize), NULL);
+ mip->ra_offset));
mip->ra_current = i;
}
@@ -985,10 +985,9 @@ xfs_dir2_leaf_readbuf(
* use our mapping, but this is a very rare case.
*/
else if (i > mip->ra_current) {
- xfs_da_reada_buf(NULL, dp,
+ xfs_dir2_data_readahead(NULL, dp,
map[mip->ra_index].br_startoff +
- mip->ra_offset,
- XFS_DATA_FORK, NULL);
+ mip->ra_offset, -1);
mip->ra_current = i;
}