>> The per-dataset ncopies property is obeyed in that if one were to >> dedup many >> blocks with ncopies set to 2 there would result in 2 copies total >> after >> deduplication. >> The 'dedupditto' property guides what we're calling auto-ditto in >> which ZFS >> chooses to store an additional copy once some threshhold is >> reached. This is >> independent of the per-dataset 'ncopies' property. > > What does happen to the auto-ditto copies once reference count drops > below threshold? Are auto-ditto-copies freed immediately or when > reference count drops below e.g. half-threshold or never?
When the reference count drops below the threshold the second block is deleted. Yes, the possibility of creating and deleting exists if we're right on the boundary of the threshold, but that degenerate case is identical to what would happen without dedup: deletion of a block deletes a block and creation of a block creates a block. Adam -- Adam Leventhal, Fishworks http://blogs.sun.com/ahl