diff options
Diffstat (limited to 'fs/jbd/commit.c')
| -rw-r--r-- | fs/jbd/commit.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 2c90e3ef625f..28a9ddaa0c49 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/fs.h> | 17 | #include <linux/fs.h> | 
| 18 | #include <linux/jbd.h> | 18 | #include <linux/jbd.h> | 
| 19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> | 
| 20 | #include <linux/slab.h> | ||
| 21 | #include <linux/mm.h> | 20 | #include <linux/mm.h> | 
| 22 | #include <linux/pagemap.h> | 21 | #include <linux/pagemap.h> | 
| 23 | #include <linux/bio.h> | 22 | #include <linux/bio.h> | 
| @@ -787,6 +786,12 @@ wait_for_iobuf: | |||
| 787 | 786 | ||
| 788 | jbd_debug(3, "JBD: commit phase 6\n"); | 787 | jbd_debug(3, "JBD: commit phase 6\n"); | 
| 789 | 788 | ||
| 789 | /* All metadata is written, now write commit record and do cleanup */ | ||
| 790 | spin_lock(&journal->j_state_lock); | ||
| 791 | J_ASSERT(commit_transaction->t_state == T_COMMIT); | ||
| 792 | commit_transaction->t_state = T_COMMIT_RECORD; | ||
| 793 | spin_unlock(&journal->j_state_lock); | ||
| 794 | |||
| 790 | if (journal_write_commit_record(journal, commit_transaction)) | 795 | if (journal_write_commit_record(journal, commit_transaction)) | 
| 791 | err = -EIO; | 796 | err = -EIO; | 
| 792 | 797 | ||
| @@ -924,7 +929,7 @@ restart_loop: | |||
| 924 | 929 | ||
| 925 | jbd_debug(3, "JBD: commit phase 8\n"); | 930 | jbd_debug(3, "JBD: commit phase 8\n"); | 
| 926 | 931 | ||
| 927 | J_ASSERT(commit_transaction->t_state == T_COMMIT); | 932 | J_ASSERT(commit_transaction->t_state == T_COMMIT_RECORD); | 
| 928 | 933 | ||
| 929 | commit_transaction->t_state = T_FINISHED; | 934 | commit_transaction->t_state = T_FINISHED; | 
| 930 | J_ASSERT(commit_transaction == journal->j_committing_transaction); | 935 | J_ASSERT(commit_transaction == journal->j_committing_transaction); | 
