Subject: Re: FFS journal
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 07/05/2006 16:57:26
> Among other things, say the unlinked file is large enough that we
> can't cache all its block metadata in-core.  Then there's no way to
> "undelete" it as we can't remember where all the blocks are.
> Remember a 4 TB ufs2 file has around 1 GB of block pointer data.

Yes, but you don't trash most of it when you delete it.

The inode is zeroed; that you do need to keep cached.  But the indirect
blocks you just mark as free; you don't scribble on them.  Provided
they haven't been overwritten (which is assumed when you go RO), and
provided you still have everything the inode had, you're fine.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B