Darren J Moffat wrote:
I think we need 5 distinct places to set the policy:

1) On file delete
    This would be a per dataset policy.
    The bleaching would happen in a new transaction group
    created by the one that did the normal deletion, and would
    run only if the    original one completed.  It needs to be done in
    such away that the file blocks aren't on the free list until
    after the bleaching txg is completed.

2) On ZFS data set destroy
    A per pool policy and possibly per dataset with inheritance.
    As above for the txg and the free blocks.

3) On demand for a pool without destroying active data.
    This is similar to today's scrub, it is a background task
    that we start off periodically and view the status of it
    via zpool status.

4) On pool destroy (purposely breaks import -d)

5) On hotsparing, bleach the outgoing disk.

There is one other one that I forgot to mention....

6) When modifying any file you want to bleach the old blocks in a way very simlar to case 1 above.

This and 1) will have some interesting issues around snapshots and clones.


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

Reply via email to