Hello,
I am trying to evaluate the performance of diff_iterate. This will affect our following
decision on achieve "Copy local rbd image to remote ceph pool".
Our current proposal is to first send a table which contains snapshot info and all the
offset and length obtained from image.diff_iterate to remote site. Then remote site will
request each extent from local site.
Based on what we have tested, we know that diff_iterate is quite fast to return all extent
changed. However, we would like to know more about how it works inside?
Assume that a image has snap1(oldest), snap2 and snap3(latest). If we do a diff _iterate
between snap3 to snap1, what does it do underneath?
I suspect that for each snapshot, there is some sort of table that record all the extents
for that snapshot. diffe_iterate is basically comparing 2 tables of different snapshots??
Am I correct?
Please share more insights on this topic to help me get deeper understanding of
diff_iterate and how a snapshot is created.
Thanks,
Jon Liu
Show replies by date