Retaining undelete data on ext3

Bodo Thiesen bothie at
Sun Oct 8 16:52:14 UTC 2006

Theodore Tso <tytso at> wrote:

> The other caveat is that
> storing all of the previously zeroed block pointers temporarily in
> memory could take quite a bit of memory, especially if what is being
> deleted is really big.

Even Stephens idea doesn't need MBs of space. After freeing all blocks 
pointed to by an ind, that ind is unlinked in it's dind or in the inode 
whatever applies. In this moment, we can already restore it's contents. 
So the worst case for 8k blocks is to remember two ind blocks, two dind 
blocks and one tind block and the inode. That makes 41088 bytes. I don't 
agree this to be a problem ;)

> Of course, storing the information as a series of extents would be an
> obvious optimization, which would work on all but a very badly
> fragmented file (for example, if said DVD .iso image was created when
> the filesystem was close to 100% full).  

Or just read my mail from Sun, 1 Feb 2004 07:00:58 +0100 (Ext3 and 
undeletion - A way how it could work.)

> The are some other ways it could be done that would be more optimized,
> but the bottom line is that main reason why it hasn't be done is
> because the people who could do it haven't had the time to implement
> it.  We've been working on other features that are higher priority,
> either for ourselves or for our employers.


But as I told: Ideas are not the problem. Time is the problem.

Regards, Bodo

More information about the Ext3-users mailing list