Posted by: Administrator
on February 09, 2007 02:04 PM
"On these file systems, a triple wipe will simply result in an unlinked original file and three more unlinked files containing garbage. A total waste of time."
Um, not quite. Overwriting a file (using the same data blocks) isn't the same as truncating that file, then appending to it (using possibly different data blocks).
Depending on the type of journaling used, multiple overwrites will result in redundant journal records. By the time the JBD or equivalent kernel thread commits the journal records, any redundant records (multiple writes to the same data block) are coalesced into a single write, with only the last record being the one actually committed. However, if the inode is unlinked before its journal records are committed, then the records are simply ignored (esp. with out-of-order journaling, as in "data=writeback" for Ext3). Freeing a data block suggests discarding from the journal any pending writes for that block.
But you are right to say it's a total waste of time. Garbage data intended to overwrite file data ends up in the bit bucket instead.
Re:What About...
Posted by: Administrator on February 09, 2007 02:04 PMUm, not quite. Overwriting a file (using the same data blocks) isn't the same as truncating that file, then appending to it (using possibly different data blocks).
Depending on the type of journaling used, multiple overwrites will result in redundant journal records. By the time the JBD or equivalent kernel thread commits the journal records, any redundant records (multiple writes to the same data block) are coalesced into a single write, with only the last record being the one actually committed. However, if the inode is unlinked before its journal records are committed, then the records are simply ignored (esp. with out-of-order journaling, as in "data=writeback" for Ext3). Freeing a data block suggests discarding from the journal any pending writes for that block.
But you are right to say it's a total waste of time. Garbage data intended to overwrite file data ends up in the bit bucket instead.
#