aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/jbd2/checkpoint.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c
index 9ffb19cf376b..1fbf59938cc0 100644
--- a/fs/jbd2/checkpoint.c
+++ b/fs/jbd2/checkpoint.c
@@ -115,8 +115,6 @@ void __jbd2_log_wait_for_space(journal_t *journal)
115 115
116 nblocks = jbd2_space_needed(journal); 116 nblocks = jbd2_space_needed(journal);
117 while (jbd2_log_space_left(journal) < nblocks) { 117 while (jbd2_log_space_left(journal) < nblocks) {
118 if (journal->j_flags & JBD2_ABORT)
119 return;
120 write_unlock(&journal->j_state_lock); 118 write_unlock(&journal->j_state_lock);
121 mutex_lock(&journal->j_checkpoint_mutex); 119 mutex_lock(&journal->j_checkpoint_mutex);
122 120
@@ -132,6 +130,10 @@ void __jbd2_log_wait_for_space(journal_t *journal)
132 * trace for forensic evidence. 130 * trace for forensic evidence.
133 */ 131 */
134 write_lock(&journal->j_state_lock); 132 write_lock(&journal->j_state_lock);
133 if (journal->j_flags & JBD2_ABORT) {
134 mutex_unlock(&journal->j_checkpoint_mutex);
135 return;
136 }
135 spin_lock(&journal->j_list_lock); 137 spin_lock(&journal->j_list_lock);
136 nblocks = jbd2_space_needed(journal); 138 nblocks = jbd2_space_needed(journal);
137 space_left = jbd2_log_space_left(journal); 139 space_left = jbd2_log_space_left(journal);