Skip to content

How does dedup work on an old pool that was updated to have fast dedup? #16839

Answered by robn
nstiurca asked this question in Q&A
Discussion options

You must be logged in to vote

when a block is written, it's hashed using whatever checksum algorithm is currently active. if a table already exists for that algorithm, that table (be it legacy or fast) is checked and updated accordingly. if a table doesn't exist for the algo, then a new one is created respecting the fast_dedup feature enablement.

Exactly correct.

and how does freeing blocks work, particularly blocks that are in a table other than the one for the current checksum algo? do blocks' metadata track which dedup table it is referenced in? I'm guessing that must be the case.

Every block in ZFS has a block pointer, containing the location on disk and a bunch of metadata about the block. All block pointers …

Replies: 1 comment 5 replies

Comment options

You must be logged in to vote
5 replies
@IvanVolosyuk
Comment options

@amotin
Comment options

amotin Dec 5, 2024
Collaborator

@nstiurca
Comment options

@robn
Comment options

robn Dec 5, 2024
Collaborator

Answer selected by nstiurca
@nstiurca
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
4 participants