summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix compile error.Chris Wilson2014-02-07
| | | | | | | | | | Caused by removal of BackupStoreRefCountDatabase::CreateForRegeneration. It's not safe to do this in housekeeping anyway, because it might not complete the scan, leaving an incomplete database, that might persuade BackupStoreContext that it's OK to delete an object that still really has references to it. If your refcount db disappears or is damaged, you need to run a check fix.
* Create new refcount database atomically during account check.Chris Wilson2014-02-07
| | | | | | | | | | | Use a temporary refcount db for check instead of an in-memory vector. This avoid the memory usage problems created by using the vector on large accounts, but may require us to improve the efficiency of the refcount database itself to avoid large numbers of small I/O operations. That is very doable now that we're using a class for it. Fix some inconsistencies and mistakes in handling reference counts and info counters during account checks (more to come).
* Fix compile error.Chris Wilson2014-02-07
| | | | | Caused by premature switch from GetNumFiles to GetNumCurrentFiles.
* Fix compile error caused by missing std::list prototype.Chris Wilson2014-02-07
| | | | | | Fix erroneous detection of leaked file descriptors by closing syslog before compiling the initial list of file descriptors.
* Don't write #include statements for empty filenames.Chris Wilson2014-02-07
|
* Add an AccountUsage2 command to backup protocol.Chris Wilson2014-02-07
| | | | | Allows us to get information about the account that's not available using the old AccountUsage command. Currently only used in tests.
* Rename $cmd_class to $cmd_classes.Chris Wilson2014-02-07
| | | | Makes code easier to read.
* Move the comment to somewhere more useful.Chris Wilson2014-02-07
|
* Allow running only named tests in test suites that support it.Chris Wilson2014-02-07
|
* Print a newline when user presses Ctrl+D at bbackupquery prompt.Chris Wilson2014-02-07
| | | | Makes the output look a little nicer as bbackupquery dies.
* Allow InvisibleTempFileStream to take a std::string.Chris Wilson2014-02-07
| | | | For C++ style.
* Allow test/bbackupd to test bbackupquery completions.Chris Wilson2014-02-07
|
* Don't need to protect InvisibleTempFileStream against exceptions.Chris Wilson2014-02-07
| | | | | | | By definition, it will be cleared up by the OS automatically. Also we don't need to support gcc 2.x any more. It was replaced by gcc3 in 2001, 12 years ago.
* Include filename in FileStream exception messages.Chris Wilson2014-02-07
| | | | Helps with debugging based on exception messages alone.
* Revert "Revert "Fix compile error introduced by bbstoreaccounts refactor.""Chris Wilson2014-02-07
| | | | | | This reverts commit b3bc7ad5be2c5b2588793aaa9fbc05e4a1c0aea5. Should not have been applied in SVN (not just yet, anyway).
* Rename BackupStoreContext.GetStoreRoot() to GetAccountRoot().Chris Wilson2014-02-07
| | | | More accurate name for this variable.
* Show module name of each file when compiling.Chris Wilson2014-02-07
| | | | Helps to find the right file when looking at a failed build output.
* Compile debug builds with glibc debugging containers.Chris Wilson2014-02-07
| | | | Make the release and debug options more similar.
* Add some images of the "box" portion of the logo.Chris Wilson2014-02-07
|
* Fix bbackupquery accepting a command starting with options.Chris Wilson2014-02-07
| | | | | | | This should never have been a valid command, but was accepted before, and silently ignored because it was treated as an empty command. This obscured bad quoting of bbackupquery command-line arguments, allowing commands to appear to work, but not do what you expected.
* Revert "Fix compile error introduced by bbstoreaccounts refactor."Chris Wilson2014-02-07
| | | | This reverts commit 9d0580c58025ba94bee02cdc2aae3fe0b6ccf604.
* Fix compile error introduced by bbstoreaccounts refactor.Chris Wilson2014-02-07
|
* Add ReleaseWriteLock to BackupStoreContext.Chris Wilson2014-02-07
| | | | Not really an API, but useful for BackupProtocolLocal2.
* Close syslog before checking for files left open in tests.Chris Wilson2014-02-07
| | | | Otherwise we might detect the opened syslog socket as a leaked file descriptor.
* Add a Git ignore file to help developers using Git.Chris Wilson2014-02-07
|
* Add a BackupProtocolLocal2 convenience class.Chris Wilson2014-02-07
| | | | | Adds a nicer constructor and more helpful cleanup on QueryFinished() to the auto-generated BackupProtocolLocal.
* Add ReceiveStream to protocol callable base class.Chris Wilson2014-02-07
| | | | | So we can call it on either a Client or a Local protocol object, without having to know which it is, or cast it.
* Split bbstoreaccounts commands out into a separate class.Chris Wilson2014-02-07
| | | | | Allows us to call them from tests without shelling out, making debugging easier.
* Show more details when bbackupquery command parsing failsChris Wilson2014-02-07
|
* Add a test that Used block counts match expected values.Chris Wilson2013-10-22
|
* Files are allowed to be both Old and Deleted.Chris Wilson2013-10-02
| | | | Count them as Deleted, not as Old.
* Fix test fallout from SendStream ptr to auto_ptr change.Chris Wilson2013-09-30
| | | | | You can only pass a std::auto_ptr<IOStream> to SendStream now. Nothing else will do for Clang. But you can cast a std::auto_ptr<subclass>.
* Fix getopt header confusion.Chris Wilson2013-09-30
| | | | | | | | Our copy of getopt.h in lib/win32 was beating the system getopt.h in the search path, and providing different definitions, which clang picked up. Renamed our getopt.h to bsd_getopt.h, and added a box_getopt.h to decide whether to include this one instead of the system getopt.h.
* Clang complains that "enabled" is not initialised.Chris Wilson2013-09-28
| | | | | | | It doesn't know that we call a function that exits the program prematurely. In any case, this patch stops it from complaining.
* Clang complains that numDelObj is not initialised.Chris Wilson2013-09-28
| | | | | | | I don't think this has any effect in practice, but this patch ensures that it is initialised anyway.
* mSubType is unsigned, so clang complains that it can't be less than zero.Chris Wilson2013-09-28
|
* Add systemd initscript/configuration by Daniel Tihelka <dtihelka@gmail.com>Chris Wilson2013-09-28
|
* Repair damaged Box RAID objects and non-transformed .rfw files.Chris Wilson2013-09-20
|
* Add a comment about removing one RaidFileWrite constructor.Chris Wilson2013-09-20
|
* Ensure that all errors that increment mNumberErrorsFound are reported as ↵Chris Wilson2013-09-19
| | | | | | | BOX_ERROR. Remove debugging code for Sune Molgaard's issue with non-existent files.
* Add calloc() support to memory leak finder.Chris Wilson2013-09-19
|
* Report everything that increases mNumberErrorsFound as a BOX_ERROR.Chris Wilson2013-09-19
|
* Add missing definition of CheckDirectory, fix CheckDirectoryEntry prototype.Chris Wilson2013-09-19
|
* Fix misleading exception thrown.Chris Wilson2013-09-19
|
* Repeatedly "fix" directories until all errors are cleared.Chris Wilson2013-09-19
| | | | | | | Fixes some cases where a directory might refer to an object that doesn't exist, which is removed from the directory, but an object that depends on it (a patch) isn't removed, and requires a subsequent recheck.
* Fix missing include, thanks Arnaud.Chris Wilson2013-09-02
|
* Set process title on Windows.Chris Wilson2013-08-25
| | | | | | Thanks to Arnaud for submitting the patch: "I propose a little patch to enable the SetProcessTitle function on windows system."
* Re-enable test_dir_fixing.Chris Wilson2013-08-22
|
* Improve debugging messages after repairing a directory.Chris Wilson2013-08-22
| | | | | | | | | | | Report whether the directory still had errors after the first pass of dir.CheckAndFix(), and also whether a file is marked as both Old and Deleted, which means that its block usage is not accounted for anywhere. There's possibly still a bug here where an invalid directory entry that is itself a directory may not result in the parent directory being marked as isModified and written back out afterwards, which may be what's happening to Markus Grunwald (failure to correct the error with "check fix").
* Fix a bug where bbstoreaccounts check could hang or crash.Chris Wilson2013-08-22
| | | | | | | It's not safe to use an iterator after the underlying collection has been modified. We need to restart iterating over the directory in that case. Otherwise we could loop forever looking for an end() that we've already passed, or start accessing unallocated memory.