The rbd diff-related commands compare points in time of a single image. Since children are identical to their parent when they're cloned, if I created a snapshot right after it was cloned, I could export the diff between the used child and the parent. Something like: rbd clone child parent@snap rbd snap create child@base <use child image> rbd snap create child@changed rbd export-diff child@changed --from-snap base child_changes.diff the questions are: 1. Does the child@base really necessary? It seems point the same obj with parent@snap, why should'n I use the parent@snap instead? 2. If I create child@base, comparing with use child image directly, are there some performance redundant or storage increment when writing the child image later?ÿôèº{.nÇ+‰·Ÿ®‰†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·œz˜ÿuëÞ—ø§¶›¡Ü¨}©ž²Æ zÚ&j:+v‰¨þø¯ù®w¥þŠà2ŠÞ™¨èÚ&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ—ú+ƒùšŽŠÝ¢jÿŠwèþf