jbd2: split updating of journal superblock and marking journal empty
[deliverable/linux.git] / fs / jbd2 / checkpoint.c
index d49d202903fb13cb9e8b663c1c6aea181f38d37a..19dcd0b86bca1b5bffd18836c4d25c3e3e84e342 100644 (file)
@@ -550,7 +550,7 @@ int jbd2_cleanup_journal_tail(journal_t *journal)
            (journal->j_flags & JBD2_BARRIER))
                blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL);
        if (!(journal->j_flags & JBD2_ABORT))
-               jbd2_journal_update_superblock(journal, 1);
+               jbd2_journal_update_sb_log_tail(journal);
        return 0;
 }
 
@@ -722,7 +722,7 @@ int __jbd2_journal_remove_checkpoint(struct journal_head *jh)
                                    transaction->t_tid, stats);
 
        __jbd2_journal_drop_transaction(journal, transaction);
-       kfree(transaction);
+       jbd2_journal_free_transaction(transaction);
 
        /* Just in case anybody was waiting for more transactions to be
            checkpointed... */
@@ -797,5 +797,7 @@ void __jbd2_journal_drop_transaction(journal_t *journal, transaction_t *transact
        J_ASSERT(journal->j_committing_transaction != transaction);
        J_ASSERT(journal->j_running_transaction != transaction);
 
+       trace_jbd2_drop_transaction(journal, transaction);
+
        jbd_debug(1, "Dropping transaction %d, all done\n", transaction->t_tid);
 }
This page took 0.030499 seconds and 5 git commands to generate.