aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2010-04-16 13:59:25 +0800
committerJoel Becker <joel.becker@oracle.com>2010-04-16 03:10:54 -0700
commit79681842e160c3211eeeb47ea31b061038d1e41e (patch)
treeebc5fbbd91e33fa633903b784d6bf0b4d068bb76
parenta42ab8e1a37257da37e0f018e707bf365ac24531 (diff)
downloadkernel_samsung_smdk4412-79681842e160c3211eeeb47ea31b061038d1e41e.zip
kernel_samsung_smdk4412-79681842e160c3211eeeb47ea31b061038d1e41e.tar.gz
kernel_samsung_smdk4412-79681842e160c3211eeeb47ea31b061038d1e41e.tar.bz2
ocfs2: Reset status if we want to restart file extension.
In __ocfs2_extend_allocation, we will restart our file extension if ((!status) && restart_func). But there is a bug that the status is still left as -EGAIN. This is really an old bug, but it is masked by the return value of ocfs2_journal_dirty. So it show up when we make ocfs2_journal_dirty void. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
-rw-r--r--fs/ocfs2/file.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 2b4235c..20e0ee5 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -684,6 +684,7 @@ restarted_transaction:
if (why == RESTART_META) {
mlog(0, "restarting function.\n");
restart_func = 1;
+ status = 0;
} else {
BUG_ON(why != RESTART_TRANS);