--rebuild-statcache bugfix.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Mon, 14 Jul 2008 22:59:21 +0000 (15:59 -0700)
committerMichael Vrable <mvrable@turin.ucsd.edu>
Mon, 14 Jul 2008 22:59:21 +0000 (15:59 -0700)
Check that a file is actually unchanged (and not just present in the old
statcache with different metadata) before printing a warning about
differing checksums.

scandir.cc

index 10e908b..cde2835 100644 (file)
@@ -294,7 +294,9 @@ int64_t dumpfile(int fd, dictionary &file_info, const string &path,
     // the checksum in the statcache.  If not, we have possible disk corruption
     // and report a warning.
     if (flag_rebuild_statcache) {
-        if (found && file_info["checksum"] != metawriter->get_checksum()) {
+        if (found
+            && metawriter->is_unchanged(&stat_buf)
+            && file_info["checksum"] != metawriter->get_checksum()) {
             fprintf(stderr,
                     "Warning: Checksum for %s does not match expected value\n"
                     "    expected: %s\n"