diff options
author | Tao Ma <tao.ma@oracle.com> | 2010-04-16 01:59:25 -0400 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-04-16 06:10:54 -0400 |
commit | 79681842e160c3211eeeb47ea31b061038d1e41e (patch) | |
tree | ebc5fbbd91e33fa633903b784d6bf0b4d068bb76 /fs/ocfs2/file.c | |
parent | a42ab8e1a37257da37e0f018e707bf365ac24531 (diff) |
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>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 2b4235c5831d..20e0ee58dd39 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -684,6 +684,7 @@ restarted_transaction: | |||
684 | if (why == RESTART_META) { | 684 | if (why == RESTART_META) { |
685 | mlog(0, "restarting function.\n"); | 685 | mlog(0, "restarting function.\n"); |
686 | restart_func = 1; | 686 | restart_func = 1; |
687 | status = 0; | ||
687 | } else { | 688 | } else { |
688 | BUG_ON(why != RESTART_TRANS); | 689 | BUG_ON(why != RESTART_TRANS); |
689 | 690 | ||