}
 
 static void ext4_fc_update_stats(struct super_block *sb, int status,
-                                u64 commit_time, int nblks)
+                                u64 commit_time, int nblks, tid_t commit_tid)
 {
        struct ext4_fc_stats *stats = &EXT4_SB(sb)->s_fc_stats;
 
-       jbd_debug(1, "Fast commit ended with status = %d", status);
+       jbd_debug(1, "Fast commit ended with status = %d for tid %u",
+                       status, commit_tid);
        if (status == EXT4_FC_STATUS_OK) {
                stats->fc_num_commits++;
                stats->fc_numblks += nblks;
                if (atomic_read(&sbi->s_fc_subtid) <= subtid &&
                        commit_tid > journal->j_commit_sequence)
                        goto restart_fc;
-               ext4_fc_update_stats(sb, EXT4_FC_STATUS_SKIPPED, 0, 0);
+               ext4_fc_update_stats(sb, EXT4_FC_STATUS_SKIPPED, 0, 0,
+                               commit_tid);
                return 0;
        } else if (ret) {
                /*
                 * Commit couldn't start. Just update stats and perform a
                 * full commit.
                 */
-               ext4_fc_update_stats(sb, EXT4_FC_STATUS_FAILED, 0, 0);
+               ext4_fc_update_stats(sb, EXT4_FC_STATUS_FAILED, 0, 0,
+                               commit_tid);
                return jbd2_complete_transaction(journal, commit_tid);
        }
 
         * don't react too strongly to vast changes in the commit time
         */
        commit_time = ktime_to_ns(ktime_sub(ktime_get(), start_time));
-       ext4_fc_update_stats(sb, status, commit_time, nblks);
+       ext4_fc_update_stats(sb, status, commit_time, nblks, commit_tid);
        return ret;
 
 fallback:
        ret = jbd2_fc_end_commit_fallback(journal);
-       ext4_fc_update_stats(sb, status, 0, 0);
+       ext4_fc_update_stats(sb, status, 0, 0, commit_tid);
        return ret;
 }