> 
> Hmmm... all that would be required of a proof of concept tools is
something to
> build a big tree of what's modified and when. I think there might even
be test
> code around to do that :)
> 
> For an incremental or differential, as long as the oldest 'when' date
is
> before the 'since' date (assuming this is a good enough criteria for
knowing
> if the change journal has purged out some records that we need) then
we can
> construct a list of modified files for bacula to work through, instead
of
> figuring it out file by file. If we suspect that some records have
been purged
> then we just fall back to the current way of doing things.
> 
> I've got a billion other things to do as well, but I'll spend a few
minutes on
> this while my curiosity is aroused :)
> 

Well the API appears to work as described. The next step would be a
proper "build the big tree of changes" proof-of-concept, which I don't
have time to do right now...

I think I know enough about how the fd works to be able to wedge it into
the 'find' code in Bacula, although doing so in a way that Kern
appreciates may be more difficult :) The other considerations are:

. Are there performance overheads during day to day use of having a
change journal? (not much point in lightning fast incremental backups if
it slows the server down :)
. Does it make a significant performance improvement to an incremental
backup?
. Does it integrate well into the existing bacula code?
. What if the change journal is used by other Windows functions? Will
that upset bacula's use of it?

There is one change journal per volume, and some of the domain
controller replication functions appear to use it. I don't know if it
would conflict with what we want except for the USN wrap around problem.
A USN is a 'LONG LONG' which is a 64 bit number, so I don't know that
wrapping around is something that happens regularly. Before it happens
though, the change journal is supposed to be deleted and recreated...
(according to the docs)

Given the finite size of the change journal, we'd also maybe want some
heuristics that keeps an eye on it and makes sure that there is plenty
of headroom, increasing the size as required.

Something to revisit when I get some time.

James


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to