Skip to content

Questions about zil+zio layer #17232

Answered by amotin
dgiantsidi asked this question in Q&A
Apr 9, 2025 · 3 comments · 2 replies

You must be logged in to vote

Can you clarify what is the difference between: ZIO_DDT_WRITE_PIPELINE and ZIO_WRITE_PIPELINE.

As you could guess, the first is used for dedup writes. It is similar to normal write up to the checksum stage, but then may skip physical write, replacing it with DDT update.

It seems that for the ZIL ZIOs, the ZIO_WRITE_PIPELINE is used where the checksum stage (ZIO_WRITE_COMMON_STAGES) takes place before the ZIO_STAGE_WRITE_COMPRESS.

The order they are listed in the macros does not matter. The stages are always executed according to their order in enum zio_stage.

Replies: 3 comments 2 replies

You must be logged in to vote
1 reply
@snajpa

You must be logged in to vote
0 replies

You must be logged in to vote
1 reply
@amotin

amotin May 6, 2025
Collaborator

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