diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-06-18 11:12:36 -0700 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-07-10 17:31:52 -0700 |
commit | bce997682fe3121516f5a20cf7bad2e6029ba018 (patch) | |
tree | 1f54d1c289b7fac2ec036f6923a27e00a6d777ae /fs/ocfs2 | |
parent | 7307de80510a70e5e5aa98de1e80ccbb7d90a3a8 (diff) | |
download | kernel_samsung_tuna-bce997682fe3121516f5a20cf7bad2e6029ba018.zip kernel_samsung_tuna-bce997682fe3121516f5a20cf7bad2e6029ba018.tar.gz kernel_samsung_tuna-bce997682fe3121516f5a20cf7bad2e6029ba018.tar.bz2 |
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/ocfs2')
-rw-r--r-- | fs/ocfs2/aops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index b8869fd..e8d16ae 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; } |