On Mon, 2006-12-18 at 16:05 +0000, Darren J Moffat wrote:
> 6) When modifying any file you want to bleach the old blocks in a way 
> very simlar to case 1 above.

I think this is the crux of the problem.  If you fail to solve it, you
can't meaningfully say that all blocks which once contained parts of a
file have been overwritten and instead have to fall back on a "bleach
all unallocated blocks in the pool".

And if you can solve this one, I think you get cases 1 and 2 "for free".

I think the way to go here is to create a file, dataset, and/or pool
property which turns on "bleach on free"; any blocks freed after this
property set will be appropriately bleached.

Other issues:
 - in some threat models, overwrite by zero is sufficient; in others,
you need multiple passes of overwrite with specific data patterns.

 - If you're going to immediately reuse a block, do you need to bleach
before reallocation, or is mere overwrite by different allocated data
considered sufficient?

There also may be a reason to do this when confidentiality isn't
required: as a sparse provisioning hack..

If you were to build a zfs pool out of compressed zvols backed by
another pool, then it would be very convenient if you could run in a
mode where freed blocks were overwritten by zeros when they were freed,
because this would permit the underlying compressed zvol to free *its*
blocks.

                                                - Bill


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to