Hi, I am trying to understand the space accounting done in dsl_dataset and snapshots. Usually whenever a block is allocate for a dataset we call dsl_dataset_block_born. And when we free the block we call dsl_dataset_block_kill.
In both of these function we add the allocated/deletes space to/from current dsl_dataset and dsl_dir. So my question is how the ds_unique_bytes and dd_used_bytes are related? What happens in case of snapshots to these fields.? >From my understanding what I have guessed is ds_unique_byes represents blocks allocate/born in current dsl_dataset. But dsl_dir accounts for all the blocks in snapshots as well as current dsl_dataset. Please correct me if I am wrong. Also when we take a snapshot what happens to ds_unique_byes, are they copied from snapshot or initialized as 0? Thanks in advance !! Regards, Gaurav.
_______________________________________________ developer mailing list developer@open-zfs.org http://lists.open-zfs.org/mailman/listinfo/developer