ocfs2: Separate out sync reads from ocfs2_read_blocks()

The ocfs2_read_blocks() function currently handles sync reads, cached,
reads, and sometimes cached reads.  We're going to add some
functionality to it, so first we should simplify it.  The uncached,
synchronous reads are much easer to handle as a separate function, so we
instroduce ocfs2_read_blocks_sync().

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
This commit is contained in:
Joel Becker
2008-10-09 17:20:29 -07:00
committed by Mark Fasheh
parent 936b883436
commit da1e90985a
5 changed files with 96 additions and 10 deletions

View File

@@ -460,8 +460,11 @@ static int ocfs2_read_locked_inode(struct inode *inode,
}
}
status = ocfs2_read_block(osb, args->fi_blkno, &bh, 0,
can_lock ? inode : NULL);
if (can_lock)
status = ocfs2_read_block(osb, args->fi_blkno, &bh, 0,
inode);
else
status = ocfs2_read_blocks_sync(osb, args->fi_blkno, 1, &bh);
if (status < 0) {
mlog_errno(status);
goto bail;