X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=scandir.cc;h=f119197ff6b1ec8cb0f5547094c1e155791425e5;hb=974240b635af9cf2b94e2f1f3c02beab662a189d;hp=cde2835f4195e922438fe0da3ce4a7021320aede;hpb=c404828267cb61f6e32ab77c0ab7835140250912;p=cumulus.git diff --git a/scandir.cc b/scandir.cc index cde2835..f119197 100644 --- a/scandir.cc +++ b/scandir.cc @@ -270,6 +270,10 @@ int64_t dumpfile(int fd, dictionary &file_info, const string &path, subfile.analyze_new_block(block_buf, bytes); refs = subfile.create_incremental(tss, o, block_age); } else { + if (flag_rebuild_statcache && ref.is_normal()) { + subfile.analyze_new_block(block_buf, bytes); + subfile.store_analyzed_signatures(ref); + } refs.push_back(ref); } @@ -630,6 +634,7 @@ void usage(const char *program) " --intent=FLOAT intended backup type: 1=daily, 7=weekly, ...\n" " (defaults to \"1\")\n" " --full-metadata do not re-use metadata from previous backups\n" + " --rebuild-statcache re-read all file data to verify statcache\n" " -v --verbose list files as they are backed up\n" "\n" "Exactly one of --dest or --upload-script must be specified.\n", @@ -920,7 +925,7 @@ int main(int argc, char *argv[]) waitpid(signature_pid, &status, 0); if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) { - throw IOException("Signature filter process error"); + fatal("Signature filter process error"); } }