On Tue, Apr 26, 2011 at 3:25 PM, Ted Ts'o <tytso@xxxxxxx> wrote: > On Tue, Apr 26, 2011 at 05:23:21PM +0800, Ding Dinghua wrote: >> I think it's not only a performance issue but more important, a >> correctness issue. >> Revoke table is used for preventing the wrong replay of journal which >> cause data corruption: >> If block A has been journalled its modification, committed to journal >> and hasn't been checkpointed, >> and in later transactions block A is freed and reused for data in >> no-journalled-data mode, then If >> we don't have revoke table which recording the releasing event, replay >> of journal will overwrite the new data, >> which causing data corruption. > > Yes, this is correct. It should be covered fairly well in Stephen > Tweedie's, "Journaling the ext2fs file system" paper, which you can > find at: > > https://ext4.wiki.kernel.org/index.php/Publications Actually, the original paper has no mention of revoke records. I went out to look for useful documentation on journal forget/revoke and came back empty handed as well. > > if you'd like more details. > > Hope this helps! > > - Ted > -- > 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 > -- 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