On Mon, Sep 02, 2013 at 02:57:23PM +0200, Benoît Canet wrote: > > I don't see the point of using hashes. > Using hashes means that at least one extra read will be done on the target to > compute the candidate target hash. > It's bad for a cloud provider where IOs count is a huge cost. > > Another structure to replace a bitmap (smaller on the canonical case) would be > a block table as described in the Hystor paper: > www.cse.ohio-state.edu/~fchen/paper/papers/ics11.pdf
This is similar to syncing image formats that use a revision number for each cluster instead of a hash. The problem with counters is overflow. In the case of Hystor it is not necessary to preserve exact counts. A dirty bitmap must mark a block dirty if it has been modified, otherwise there is a risk of data loss. A bit more than just counters are necessary to implement a persistent dirty bitmap, but maybe it's possible with some additional state. Stefan