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
Discussion options

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

Comment options

You must be logged in to vote
1 reply
@snajpa
Comment options

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@amotin
Comment options

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