summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMark Fasheh2007-06-18 20:12:36 +0200
committerMark Fasheh2007-07-11 02:31:52 +0200
commitbce997682fe3121516f5a20cf7bad2e6029ba018 (patch)
tree1f54d1c289b7fac2ec036f6923a27e00a6d777ae /fs
parentocfs2: shared writeable mmap (diff)
downloadkernel-qcow2-linux-bce997682fe3121516f5a20cf7bad2e6029ba018.tar.gz
kernel-qcow2-linux-bce997682fe3121516f5a20cf7bad2e6029ba018.tar.xz
kernel-qcow2-linux-bce997682fe3121516f5a20cf7bad2e6029ba018.zip
ocfs2: harden buffer check during mapping of page blocks
We don't want to submit buffer_new blocks for read i/o. This actually won't happen right now because those requests during an allocating write are all nicely aligned. It's probably a good idea to provide an explicit check though. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/ocfs2/aops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index b8869fd0884f..e8d16ae12ef0 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -712,7 +712,8 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno,
if (!buffer_uptodate(bh))
set_buffer_uptodate(bh);
} else if (!buffer_uptodate(bh) && !buffer_delay(bh) &&
- (block_start < from || block_end > to)) {
+ !buffer_new(bh) &&
+ (block_start < from || block_end > to)) {
ll_rw_block(READ, 1, &bh);
*wait_bh++=bh;
}