]> err.no Git - linux-2.6/blobdiff - fs/jbd2/commit.c
asm-m32r/uaccess.h must #include <asm/setup.h>
[linux-2.6] / fs / jbd2 / commit.c
index 988fbec1143c28527729cf16d1fe0b9aa72144e3..4d99685fdce43b5ebb1c5ccbcab5a89c2443747a 100644 (file)
@@ -560,7 +560,9 @@ void jbd2_journal_commit_transaction(journal_t *journal)
         * transaction!  Now comes the tricky part: we need to write out
         * metadata.  Loop over the transaction's entire buffer list:
         */
+       spin_lock(&journal->j_state_lock);
        commit_transaction->t_state = T_COMMIT;
+       spin_unlock(&journal->j_state_lock);
 
        stats.u.run.rs_logging = jiffies;
        stats.u.run.rs_flushing = jbd2_time_diff(stats.u.run.rs_flushing,
@@ -568,6 +570,9 @@ void jbd2_journal_commit_transaction(journal_t *journal)
        stats.u.run.rs_blocks = commit_transaction->t_outstanding_credits;
        stats.u.run.rs_blocks_logged = 0;
 
+       J_ASSERT(commit_transaction->t_nr_buffers <=
+                commit_transaction->t_outstanding_credits);
+
        descriptor = NULL;
        bufs = 0;
        while (commit_transaction->t_buffers) {