Skip to content

Commit

Permalink
GFS2: f_ra is always valid in dir readahead function
Browse files Browse the repository at this point in the history
As a result, we don't need to test it each time.

Signed-off-by: Steven Whitehouse <[email protected]>
Cc: Bob Peterson <[email protected]>
  • Loading branch information
swhiteho committed Nov 9, 2011
1 parent 114b80c commit 79c4c37
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions fs/gfs2/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1378,12 +1378,14 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque,
return error;
}

/* gfs2_dir_readahead - Issue read-ahead requests for leaf blocks.
/**
* gfs2_dir_readahead - Issue read-ahead requests for leaf blocks.
*
* Note: we can't calculate each index like dir_e_read can because we don't
* have the leaf, and therefore we don't have the depth, and therefore we
* don't have the length. So we have to just read enough ahead to make up
* for the loss of information. */
* for the loss of information.
*/
static void gfs2_dir_readahead(struct inode *inode, unsigned hsize, u32 index,
struct file_ra_state *f_ra)
{
Expand All @@ -1394,7 +1396,7 @@ static void gfs2_dir_readahead(struct inode *inode, unsigned hsize, u32 index,
unsigned count;

/* First check if we've already read-ahead for the whole range. */
if (!f_ra || index + MAX_RA_BLOCKS < f_ra->start)
if (index + MAX_RA_BLOCKS < f_ra->start)
return;

f_ra->start = max((pgoff_t)index, f_ra->start);
Expand Down Expand Up @@ -1448,7 +1450,7 @@ static int dir_e_read(struct inode *inode, u64 *offset, void *opaque,
hash = gfs2_dir_offset2hash(*offset);
index = hash >> (32 - dip->i_depth);

if (f_ra && dip->i_hash_cache == NULL)
if (dip->i_hash_cache == NULL)
f_ra->start = 0;
lp = gfs2_dir_get_hash_table(dip);
if (IS_ERR(lp))
Expand Down

0 comments on commit 79c4c37

Please sign in to comment.