===================================================================
--- linux-2.6.32-504.3.3.el6.x86_64.orig/fs/ext4/super.c
+++ linux-2.6.32-504.3.3.el6.x86_64/fs/ext4/super.c
-@@ -338,6 +338,23 @@ void ext4_journal_abort_handle(const cha
+@@ -338,6 +338,18 @@ void ext4_journal_abort_handle(const cha
EXPORT_SYMBOL(ext4_journal_abort_handle);
+static void ext4_journal_commit_callback(journal_t *journal, transaction_t *txn)
+{
+ struct super_block *sb = journal->j_private;
-+ struct ext4_sb_info *sbi = EXT4_SB(sb);
+ int error = is_journal_aborted(journal);
+ struct ext4_journal_cb_entry *jce, *tmp;
+
-+ spin_lock(&sbi->s_md_lock);
+ list_for_each_entry_safe(jce, tmp, &txn->t_private_list, jce_list) {
+ list_del_init(&jce->jce_list);
-+ spin_unlock(&sbi->s_md_lock);
+ jce->jce_func(sb, jce, error);
-+ spin_lock(&sbi->s_md_lock);
+ }
-+ spin_unlock(&sbi->s_md_lock);
+}
+
/* Deal with the reporting of failure conditions on a filesystem such as