bareos: master 45c54090

Author Committer Branch Timestamp Parent
Marco van Wieringen Marco van Wieringen master 2014-04-05 12:10 master 080d3750 Pending
Changeset Abstract the accurate payload storage from the datatype used.

Up until now the accurate payload was always stored in a htable
(memory hash table) but that will not scale. We want to support multiple
storage classes for the accurate payload (e.g. the actual accurate data
accessed via the filename as key.) Things like Symas LMDB is a good
candidate as a key/value store. This patch implements the accurate data
using a class based abstraction that allows multiple implementations of
the storage. Currently it supports the old HTABLE and LMDB. The
prototype has some code that is not needed at this point as accurate
data is written only ones and after that never updated so we don't
strictly need an update method which is implemented for LMDB and is
unneeded for HTABLE as there you get internal memory you can manipulate.
The seen logic is moved into a simple bitmap that is part of the higher
level B_ACCURATE class so we don't need to update the actual accurate
payload when we only want to register that the item has been vistited.
Otherwise for things like LMDB we keep on updating the data in the LMDB
which is just to much overhead which we can easily work around with this
mod - src/filed/ Diff File
mod - src/filed/accurate.c Diff File
add - src/filed/accurate.h Diff File
add - src/filed/accurate_htable.c Diff File
add - src/filed/accurate_lmdb.c Diff File
mod - src/filed/filed_conf.c Diff File
mod - src/filed/filed_conf.h Diff File
mod - src/include/jcr.h Diff File
mod - src/win32/Makefile Diff File
mod - src/win32/ Diff File
mod - src/win32/compat/include/mingwconfig.h Diff File
mod - src/win32/filed/Makefile Diff File
add - src/win32/lmdb/Makefile Diff File
add - src/win32/lmdb/make_def Diff File