| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Like HousekeepStoreAccount, throwing an exception during the destructor will
terminate the application in an "unusual way".
|
|
|
|
|
|
|
| |
On Windows, plain stat() no longer handles slashes in filenames correctly
(since upgrading MinGW? Or switching to 64-bit Windows?). We need to use
POSIX fstat() for now in RaidFile, but we can still use the emu_stat,
and in fact we should, to fix path translation.
|
| |
|
|
|
|
|
| |
And compile errors on recent MinGW.
|
|
|
|
|
|
|
| |
Normally this will be done by housekeeping anyway, so it's not that useful,
but it's good to check for it in tests, especially when testing
BackupStoreCheck's ability to repair bad things that happened to the store
when they involve references.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When entries are added to a directory by a command (BackupStoreContext),
and when entries are removed from a directory (by housekeeping), update the
parent directory's entry for us if our size has changed.
Make BackupStoreCheck check for, report and fix errors when directory entries
are directories and the size is wrong (as well as files).
Conflicts:
test/backupstore/testbackupstore.cpp
Fix directories loaded without size being set, leading to warnings later.
We can't check that the old size in the parent entry matched the old real size
of the directory, unless we set the old real size in the directory.
And we don't need to pass the old directory size to
HousekeepStoreAccount::DeleteFile, because we can get it from the directory
itself.
|
| |
|
| |
|
|
|
|
|
| |
Will hopefully prevent future confusion about the meaning of this info
variable.
|
|
|
|
|
|
| |
Fix accounting for current, old and deleted files and blocks. Previously there
was confusion over the meaning of NumFiles, now it's defined to mean the number
of current files (neither old nor deleted), similar to BlocksInCurrentFiles.
|
|
|
|
| |
that we're doing so.
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Count them as Deleted, not as Old.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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").
|
|
|
|
|
|
| |
Use it in two places to simplify code (not in BackupStoreContext yet,
because that wants to communicate with HK process as well).
|
| |
|
| |
|
|
|
|
|
| |
detected as unattached and crashing later in CheckUnattachedObjects().
|
|
|
|
|
|
|
|
|
| |
check.
Move directory entry checking code into its own method for readability.
Reformat long lines for readability.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Import of the upstream sources from
Repository: http://localhost:8000/
Kind: hg
Revision: 7807b7768163f1c2537756abe5416063989cebb1
Original author: tailor@rocio.int.aidworld.org
Date: 2008-03-16 19:44:36+00:00
|
|
|
|
|
| |
Remove the old TRACEx macros to catch any remaining uses.
|
|
|
|
|
| |
instead. (refs #3)
|
|
|
|
|
| |
(refs #3)
|
| |
|
|
|
|
|
|
|
| |
- This is my current patch queue. I think that all of these are safe
to apply. This is just under half of the pending changes in
chris/general (the easy half).
|
|
|