diff options
author | Joel Becker <joel.becker@oracle.com> | 2008-10-09 20:20:34 -0400 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2008-10-14 14:58:22 -0400 |
commit | d4a8c93c8248534bdedb07f83c9aebd6f7d1d579 (patch) | |
tree | f978a7b36d515c29657f271ca5b70281c911a82f /fs/ocfs2/slot_map.c | |
parent | 5e0b3dec0107540244ba343f983ef4f972db20de (diff) |
ocfs2: Make cached block reads the common case.
ocfs2_read_blocks() currently requires the CACHED flag for cached I/O.
However, that's the common case. Let's flip it around and provide an
IGNORE_CACHE flag for the special users. This has the added benefit of
cleaning up the code some (ignore_cache takes on its special meaning
earlier in the loop).
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/slot_map.c')
-rw-r--r-- | fs/ocfs2/slot_map.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c index 357d3fe18c3f..bdda2d8f8508 100644 --- a/fs/ocfs2/slot_map.c +++ b/fs/ocfs2/slot_map.c | |||
@@ -150,7 +150,8 @@ int ocfs2_refresh_slot_info(struct ocfs2_super *osb) | |||
150 | * be !NULL. Thus, ocfs2_read_blocks() will ignore blocknr. If | 150 | * be !NULL. Thus, ocfs2_read_blocks() will ignore blocknr. If |
151 | * this is not true, the read of -1 (UINT64_MAX) will fail. | 151 | * this is not true, the read of -1 (UINT64_MAX) will fail. |
152 | */ | 152 | */ |
153 | ret = ocfs2_read_blocks(si->si_inode, -1, si->si_blocks, si->si_bh, 0); | 153 | ret = ocfs2_read_blocks(si->si_inode, -1, si->si_blocks, si->si_bh, |
154 | OCFS2_BH_IGNORE_CACHE); | ||
154 | if (ret == 0) { | 155 | if (ret == 0) { |
155 | spin_lock(&osb->osb_lock); | 156 | spin_lock(&osb->osb_lock); |
156 | ocfs2_update_slot_info(si); | 157 | ocfs2_update_slot_info(si); |
@@ -403,7 +404,8 @@ static int ocfs2_map_slot_buffers(struct ocfs2_super *osb, | |||
403 | (unsigned long long)blkno); | 404 | (unsigned long long)blkno); |
404 | 405 | ||
405 | bh = NULL; /* Acquire a fresh bh */ | 406 | bh = NULL; /* Acquire a fresh bh */ |
406 | status = ocfs2_read_blocks(si->si_inode, blkno, 1, &bh, 0); | 407 | status = ocfs2_read_blocks(si->si_inode, blkno, 1, &bh, |
408 | OCFS2_BH_IGNORE_CACHE); | ||
407 | if (status < 0) { | 409 | if (status < 0) { |
408 | mlog_errno(status); | 410 | mlog_errno(status); |
409 | goto bail; | 411 | goto bail; |