The common summary in F2FS is long: in the SSA block for each segment, the first half is the SSA for this segment, and then for Hot_data and cold_data segments, it is NAT Journal and sit journal, and finally a Ssa_ Footer,footer is stored in this paragraph is a data segment or node segment information, which is a typical SSA of the distribution of the Block;
But for the compact segment, its layout is this:
//------------------------------------------------------
1. Nat Journal
2 sit Journal
3 Hot Data Summary
4 Warm Data Summary
5 Cold Data Summary
//--------------------------------------------------------
Basically broke the distribution in SSA section under normal circumstances, why do you want to do this thing?
In order to be more focused every time you write a checkpoint, this does not leave the SSA update scattered in the SSA area! Let the writing more concentrated!
There is a question: every time write checkpoint, assuming that the use of compacted way to store SSA information, then this write will be the last write to cover, how to do?
Answer: This is irrelevant, when this paragraph is not curseg, this section of the SSA will be written to its real place, that is its home, and here the compacted way of the SSA store is for the current segment.
If you still have questions, then I think this should be how to read this very wonderful compacted SSA structure!
First of all, the structure of nat_journal and sit_journal are very well read, because they are fixed-length, but hot/warm/cold is not fixed-length.
It doesn't matter, checkpoint stored in these three data segments in the end there are several ssa_entry, so simply read directly can! This curseg data can be still intact but at the time of another mount!
F2FS Analysis (v) What is called compacted summary