Hi all: The following is my analysis(if wrong, please point it out), may be I can send a patch out if it's a bug. If buffer_head belongs to comitting transaction, jbd2_journal_forget do nothing except discard it from running transaction. So this buffer will happily be inserted into committing_transaction's checkpoint list and do write-back work, then this buffer may be re-used as data-block, then there are two buffer_heads maps to the same block, buffer aliasing occurs, and we can't control the writeback order of the two buffer heads, fs may be inconsistent. The same thing will happen if buffer_head doesn't belongs to running or committing transaction, but lays in checkpoint list. -- 丁定华 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html