Project

General

Profile

Feature #2016

ZFS dedup - two-layered dittoblocks setting

Added by Jim Klimov over 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
zfs - Zettabyte File System
Start date:
2012-01-21
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

While I was researching my pool's data corruption, possibly hitting several deduped files with one corrupt block, it was suggested to set "dedupditto" to small values, like "2". My oi_148a LiveUSB refused to set values smaller than 100.

In fact, it seems reasonable to have two dedupditto values: one to make a ditto copy when DDT reference counter exceeds some small value (for example, 2-5), and another to add ditto copies every "N" values for frequently-referenced data (every 64-128).

While this would diminish gains from dedup for data with little redundancy (i.e. work like there is no dedup, but add the DDT overhead for blocks with one-two hits), it would also protect both (or more) deduped files from single-block corruption thanks to shared ditto copies of the block (after two-five hits), and add more copies to this protection later on for "important" (highly overlapping) files.

Also available in: Atom PDF