Re: git: HAMMER - Add version 3 meta-data features

From:

Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>

Date:

Wed, 14 Oct 2009 12:21:21 -0700 (PDT)

:commit 83f2a3aae851887c1143dd5174eade5b66682dce
:Author: Matthew Dillon <dillon@apollo.backplane.com>
:Date: Wed Oct 14 11:44:59 2009 -0700
:
: HAMMER - Add version 3 meta-data features
Please note that this is considered EXPERIMENTAL, which is why HAMMER v3 is
marked as a work in progress. Do not upgrade your production systems yet.
We need to test these features for a good month and work out the kinks.
The work is also not quite finished yet. The hammer cleanup directive
still stores its cycle files in <fs>/snapshots, and still stores the
snapshot softlinks there as well.
What I would like to do is move the cycle files to /var/db and create a
/var/snapshots, but I am not yet sure how best to name the files (ideas
are welcome!). Getting it all moved out of <fs>/snapshots will allow us to
get rid of <fs>/snapshots entirely.
With the snapshots as filesystem meta-data it will be possible to
regenerate snapshot softlinks from the meta-data in cases where the softlinks
get blown away (e.g. by a mistaken rm -rf or something like that), plus
hammer cleanup will not mistakenly blow away the snapshots because it
also uses the meta-data to create its definitive list of transaction ids
for pruning purposes.
These changes will also make manaing mirroring slaves a whole lot easier.
Mirroring slaves have the particular issue of <fs>/snapshots being a mirror
of the master, meaning the snapshot data and config info is all for the
master rather than for the slave. Once the new work is all finished that
will no longer be an issue and slaves can be managed with their own independant
configs.
-Matt