aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2
diff options
context:
space:
mode:
authorWengang Wang <wen.gang.wang@oracle.com>2009-07-13 11:38:58 +0800
committerJoel Becker <joel.becker@oracle.com>2009-07-20 17:36:07 -0700
commit1f4cea3790bf44137192f441ee84af256e3bf809 (patch)
tree64c83d47e0ea24f14b0237d9d63426e7e5af9227 /fs/ocfs2
parentcbfa9639aea5007313b75ec43b689d5f9e0c037d (diff)
downloadkernel_samsung_tuna-1f4cea3790bf44137192f441ee84af256e3bf809.zip
kernel_samsung_tuna-1f4cea3790bf44137192f441ee84af256e3bf809.tar.gz
kernel_samsung_tuna-1f4cea3790bf44137192f441ee84af256e3bf809.tar.bz2
ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation
ocfs2_get_block() does no allocation. Hole filling for writes should have happened farther up in the call chain. We detect this case and print an error, but we then continue with the function. We should be exiting immediately. Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2')
-rw-r--r--fs/ocfs2/aops.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index 25aced3..e511df1 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -193,6 +193,7 @@ static int ocfs2_get_block(struct inode *inode, sector_t iblock,
(unsigned long long)OCFS2_I(inode)->ip_blkno);
mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters);
dump_stack();
+ goto bail;
}
past_eof = ocfs2_blocks_for_bytes(inode->i_sb, i_size_read(inode));