1. A distributed storage system comprising: a primary storage device containing a primary dataset; a mirror storage device containing a mirror dataset, wherein the mirror dataset includes a coherent copy of the primary dataset; and a hierarchical change log tracking a coherence state for the mirror dataset, wherein the hierarchical change log includes a first sub-log and a second sub-log, and wherein a block range of the first sub-log overlaps a block range of the second sub-log.