> > 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
