]> arthur.barton.de Git - bup.git/commit
_hashsplit.c: replace the stupidsum algorithm with rsync's adler32-based one.
authorAvery Pennarun <apenwarr@gmail.com>
Tue, 27 Jul 2010 05:27:54 +0000 (01:27 -0400)
committerAvery Pennarun <apenwarr@gmail.com>
Wed, 28 Jul 2010 04:43:55 +0000 (00:43 -0400)
commit55a2df0be0b26a64ac88f043a1a5888617287428
treed34d4f1bede43a8e4b4230b5d09acc62874e1fa4
parentfd7263ba1c79cfa4d3614053bad12949a67f10b0
_hashsplit.c: replace the stupidsum algorithm with rsync's adler32-based one.

I've been meaning to do this for a while, but a particular test dataset that
really caused problems with stupidsum() (ie. it split things into way more
chunks than it should have) finally screwed me over.  Let's change over to a
"real" checksum algorithm.

Non-annoying datasets shouldn't be noticeably affected, but bad ones (such
as my test case from EQL Data) can be 10x more sensible.  Typical backup
sets now have about 20% fewer chunks, although this has little affect on the
overall repository size.

WARNING: After this patch, all your chunk boundaries will be different from
before!  That means your incremental backups won't be terribly incremental
and your backup repositories will jump in size.  This should only happen
once.

Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
lib/bup/_hashsplit.c