Initial implementation of metadata log sharing.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Wed, 21 Nov 2007 23:02:54 +0000 (15:02 -0800)
committerMichael Vrable <mvrable@turin.ucsd.edu>
Wed, 21 Nov 2007 23:02:54 +0000 (15:02 -0800)
commit0ac19625c9ad293791b93c931331aa5a0c876f36
treebae954b401a64e820648464cab6592dcfbd97553
parent8df26e030a903119ee367ce30a49fc4adf3a74c7
Initial implementation of metadata log sharing.

Allow metadata written to segments to be reused between snapshots.  Keep
track of what metadata was written out on the client, and when identicial
metadata would be written on a subsequent backup, instead emit a reference
to the old metadata.

This needs more testing and verification.  There also needs to be a
mechanism for performing the equivalent of segment cleaning for metadata,
so that the metadata log does not become excessively fragmented over time.
metadata.cc
metadata.h
ref.cc
ref.h
scandir.cc