aboutsummaryrefslogtreecommitdiff
path: root/fs/jbd2/transaction.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2012-01-10 11:54:07 -0500
committerTheodore Ts'o <tytso@mit.edu>2012-01-10 11:54:07 -0500
commitff9cb1c4eead5e4c292e75cd3170a82d66944101 (patch)
treecdb132a39e550a9b7b28ea67544cb86cd6ebdb6e /fs/jbd2/transaction.c
parente4e11180dfa545233e5145919b75b7fac88638df (diff)
parentd50f2ab6f050311dbf7b8f5501b25f0bf64a439b (diff)
Merge branch 'for_linus' into for_linus_merged
Conflicts: fs/ext4/ioctl.c
Diffstat (limited to 'fs/jbd2/transaction.c')
-rw-r--r--fs/jbd2/transaction.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index a0e41a4c080..35ae096bed5 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -517,12 +517,13 @@ void jbd2_journal_lock_updates(journal_t *journal)
break;
spin_lock(&transaction->t_handle_lock);
+ prepare_to_wait(&journal->j_wait_updates, &wait,
+ TASK_UNINTERRUPTIBLE);
if (!atomic_read(&transaction->t_updates)) {
spin_unlock(&transaction->t_handle_lock);
+ finish_wait(&journal->j_wait_updates, &wait);
break;
}
- prepare_to_wait(&journal->j_wait_updates, &wait,
- TASK_UNINTERRUPTIBLE);
spin_unlock(&transaction->t_handle_lock);
write_unlock(&journal->j_state_lock);
schedule();