From: wessels <> Date: Sat, 9 Dec 2000 08:47:18 +0000 (+0000) Subject: Back out recent 'store double-check' patch; waiting for background X-Git-Tag: SQUID_3_0_PRE1~1738 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=504123ecec34c3beef92c349f2daf219f292e485;p=thirdparty%2Fsquid.git Back out recent 'store double-check' patch; waiting for background version. --- diff --git a/src/enums.h b/src/enums.h index 399fc9e8fc..162d76ff19 100644 --- a/src/enums.h +++ b/src/enums.h @@ -1,6 +1,6 @@ /* - * $Id: enums.h,v 1.176 2000/11/10 09:04:50 adrian Exp $ + * $Id: enums.h,v 1.177 2000/12/09 01:47:18 wessels Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -675,12 +675,3 @@ enum { NETDB_EX_RTT, NETDB_EX_HOPS }; - -/* - * These are used for the store double-check code - */ -typedef enum { - DBLCHECK_NONE, - DBLCHECK_REPORTONLY, - DBLCHECK_FORCE -} dblcheck_t; diff --git a/src/fs/aufs/store_dir_aufs.cc b/src/fs/aufs/store_dir_aufs.cc index 6c57d6fefc..a0c4cc1cee 100644 --- a/src/fs/aufs/store_dir_aufs.cc +++ b/src/fs/aufs/store_dir_aufs.cc @@ -1,6 +1,6 @@ /* - * $Id: store_dir_aufs.cc,v 1.21 2000/12/09 00:35:01 wessels Exp $ + * $Id: store_dir_aufs.cc,v 1.22 2000/12/09 01:47:22 wessels Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -119,7 +119,6 @@ static EVH storeAufsDirCleanEvent; static int storeAufsDirIs(SwapDir * sd); static int storeAufsFilenoBelongsHere(int fn, int F0, int F1, int F2); static int storeAufsCleanupDoubleCheck(SwapDir *, StoreEntry *); -static int storeAufsCheckFile(SwapDir * sd, sfileno filn, size_t swap_file_sz); static void storeAufsDirStats(SwapDir *, StoreEntry *); static void storeAufsDirInitBitmap(SwapDir *); static int storeAufsDirValidFileno(SwapDir *, sfileno, int); @@ -478,7 +477,6 @@ storeAufsDirRebuildFromDirectory(void *data) debug(20, 1) ("storeAufsDirRebuildFromDirectory: SIZE MISMATCH %d!=%d\n", tmpe.swap_file_sz, (int) sb.st_size); storeAufsDirUnlinkFile(SD, sfileno); - rb->counts.filesizemismatchcount++; continue; } if (EBIT_TEST(tmpe.flags, KEY_PRIVATE)) { @@ -526,7 +524,6 @@ storeAufsDirRebuildFromSwapLog(void *data) int count; int used; /* is swapfile already in use? */ int disk_entry_newer; /* is the log entry newer than current entry? */ - int file_bad; double x; assert(rb != NULL); /* load a number of objects per invocation */ @@ -612,21 +609,7 @@ storeAufsDirRebuildFromSwapLog(void *data) * appear to have a newer entry? Compare 'lastref' from the * swap log to e->lastref. */ disk_entry_newer = e ? (s.lastref > e->lastref ? 1 : 0) : 0; - if (!used && (rb->flags.need_to_validate || - (opt_store_doublecheck != DBLCHECK_NONE))) { - file_bad = storeAufsCheckFile(SD, s.swap_filen, s.swap_file_sz); - } else - file_bad = 0; - if (file_bad) { - if (file_bad == -2) { - if (opt_store_doublecheck == DBLCHECK_FORCE) - storeAufsDirUnlinkFile(SD, s.swap_filen); - rb->counts.filesizemismatchcount++; - continue; - } - rb->counts.missingcount++; - continue; - } else if (used && !disk_entry_newer) { + if (used && !disk_entry_newer) { /* log entry is old, ignore it */ rb->counts.clashcount++; continue; @@ -1608,43 +1591,31 @@ storeAufsDirFullPath(SwapDir * SD, sfileno filn, char *fullpath) */ static int storeAufsCleanupDoubleCheck(SwapDir * sd, StoreEntry * e) -{ - int rv = storeAufsCheckFile(sd, e->swap_filen, e->swap_file_sz); - if (rv) - storeEntryDump(e, 0); - return rv; -} - -/* - * storeAufsCheckFile - * - * This is called by storerebuildFromSwapLog if -S was given on the command - * line. or a Dirty state is found - */ -static int -storeAufsCheckFile(SwapDir * sd, sfileno filen, size_t swap_file_sz) { struct stat sb; - - if (stat(storeAufsDirFullPath(sd, filen, NULL), &sb) < 0) { - debug(20, 1) ("storeAufsCheckFile: MISSING SWAP FILE\n"); - debug(20, 1) ("storeAufsCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeAufsCheckFile: PATH %s\n", storeAufsDirFullPath(sd, filen, NULL)); + if (stat(storeAufsDirFullPath(sd, e->swap_filen, NULL), &sb) < 0) { + debug(20, 0) ("storeAufsCleanupDoubleCheck: MISSING SWAP FILE\n"); + debug(20, 0) ("storeAufsCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeAufsCleanupDoubleCheck: PATH %s\n", + storeAufsDirFullPath(sd, e->swap_filen, NULL)); + storeEntryDump(e, 0); return -1; } - if (swap_file_sz != sb.st_size) { - debug(20, 1) ("storeAufsCheckFile: SIZE MISMATCH\n"); - debug(20, 1) ("storeAufsCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeAufsCheckFile: PATH %s\n", storeAufsDirFullPath(sd, filen, NULL)); - debug(20, 1) ("storeAufsCheckFile: ENTRY SIZE: %d, FILE SIZE: %d\n", swap_file_sz, (int) sb.st_size); - return -2; + if (e->swap_file_sz != sb.st_size) { + debug(20, 0) ("storeAufsCleanupDoubleCheck: SIZE MISMATCH\n"); + debug(20, 0) ("storeAufsCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeAufsCleanupDoubleCheck: PATH %s\n", + storeAufsDirFullPath(sd, e->swap_filen, NULL)); + debug(20, 0) ("storeAufsCleanupDoubleCheck: ENTRY SIZE: %d, FILE SIZE: %d\n", + e->swap_file_sz, (int) sb.st_size); + storeEntryDump(e, 0); + return -1; } return 0; } /* - * storeAufsDirParse - * + * storeAufsDirParse * * Called when a *new* fs is being setup. */ void diff --git a/src/fs/diskd/store_dir_diskd.cc b/src/fs/diskd/store_dir_diskd.cc index e95564a2fa..6d6bec4a74 100644 --- a/src/fs/diskd/store_dir_diskd.cc +++ b/src/fs/diskd/store_dir_diskd.cc @@ -1,6 +1,6 @@ /* - * $Id: store_dir_diskd.cc,v 1.28 2000/12/09 00:35:04 wessels Exp $ + * $Id: store_dir_diskd.cc,v 1.29 2000/12/09 01:47:22 wessels Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -127,7 +127,6 @@ static EVH storeDiskdDirCleanEvent; static int storeDiskdDirIs(SwapDir * sd); static int storeDiskdFilenoBelongsHere(int fn, int F0, int F1, int F2); static int storeDiskdCleanupDoubleCheck(SwapDir *, StoreEntry *); -static int storeDiskdCheckFile(SwapDir * sd, sfileno filn, size_t swap_file_sz); static void storeDiskdDirStats(SwapDir *, StoreEntry *); static void storeDiskdDirInitBitmap(SwapDir *); static int storeDiskdDirValidFileno(SwapDir *, sfileno, int); @@ -644,7 +643,6 @@ storeDiskdDirRebuildFromDirectory(void *data) debug(20, 1) ("storeDiskdDirRebuildFromDirectory: SIZE MISMATCH %d!=%d\n", tmpe.swap_file_sz, (int) sb.st_size); storeDiskdDirUnlinkFile(SD, sfileno); - rb->counts.filesizemismatchcount++; continue; } if (EBIT_TEST(tmpe.flags, KEY_PRIVATE)) { @@ -692,7 +690,6 @@ storeDiskdDirRebuildFromSwapLog(void *data) int count; int used; /* is swapfile already in use? */ int disk_entry_newer; /* is the log entry newer than current entry? */ - int file_bad; double x; assert(rb != NULL); /* load a number of objects per invocation */ @@ -803,21 +800,7 @@ storeDiskdDirRebuildFromSwapLog(void *data) * appear to have a newer entry? Compare 'lastref' from the * swap log to e->lastref. */ disk_entry_newer = e ? (s.lastref > e->lastref ? 1 : 0) : 0; - if (!used && (rb->flags.need_to_validate || - (opt_store_doublecheck != DBLCHECK_NONE))) { - file_bad = storeDiskdCheckFile(SD, s.swap_filen, s.swap_file_sz); - } else - file_bad = 0; - if (file_bad) { - if (file_bad == -2) { - if (opt_store_doublecheck == DBLCHECK_FORCE) - storeDiskdDirUnlinkFile(SD, s.swap_filen); - rb->counts.filesizemismatchcount++; - continue; - } - rb->counts.missingcount++; - continue; - } else if (used && !disk_entry_newer) { + if (used && !disk_entry_newer) { /* log entry is old, ignore it */ rb->counts.clashcount++; continue; @@ -1852,36 +1835,25 @@ storeDiskdDirFullPath(SwapDir * SD, sfileno filn, char *fullpath) */ static int storeDiskdCleanupDoubleCheck(SwapDir * sd, StoreEntry * e) -{ - int rv = storeDiskdCheckFile(sd, e->swap_filen, e->swap_file_sz); - if (rv) - storeEntryDump(e, 0); - return rv; -} - -/* - * storeDiskdCheckFile - * - * This is called by storerebuildFromSwapLog if -S was given on the command line * or a Dirty state is found - */ -static int -storeDiskdCheckFile(SwapDir * sd, sfileno filen, size_t swap_file_sz) { struct stat sb; - - if (stat(storeDiskdDirFullPath(sd, filen, NULL), &sb) < 0) { - debug(20, 1) ("storeDiskdCheckFile: MISSING SWAP FILE\n"); - debug(20, 1) ("storeDiskdCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeDiskdCheckFile: PATH %s\n", storeDiskdDirFullPath(sd, filen, NULL)); - + if (stat(storeDiskdDirFullPath(sd, e->swap_filen, NULL), &sb) < 0) { + debug(20, 0) ("storeDiskdCleanupDoubleCheck: MISSING SWAP FILE\n"); + debug(20, 0) ("storeDiskdCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeDiskdCleanupDoubleCheck: PATH %s\n", + storeDiskdDirFullPath(sd, e->swap_filen, NULL)); + storeEntryDump(e, 0); return -1; } - if (swap_file_sz != sb.st_size) { - debug(20, 1) ("storeDiskdCheckFile: SIZE MISMATCH\n"); - debug(20, 1) ("storeDiskdCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeDiskdCheckFile: PATH %s\n", storeDiskdDirFullPath(sd, filen, NULL)); - debug(20, 1) ("storeDiskdCheckFile: ENTRY SIZE: %d, FILE SIZE: %d\n", swap_file_sz, (int) sb.st_size); - return -2; + if (e->swap_file_sz != sb.st_size) { + debug(20, 0) ("storeDiskdCleanupDoubleCheck: SIZE MISMATCH\n"); + debug(20, 0) ("storeDiskdCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeDiskdCleanupDoubleCheck: PATH %s\n", + storeDiskdDirFullPath(sd, e->swap_filen, NULL)); + debug(20, 0) ("storeDiskdCleanupDoubleCheck: ENTRY SIZE: %d, FILE SIZE: %d\n", + e->swap_file_sz, (int) sb.st_size); + storeEntryDump(e, 0); + return -1; } return 0; } diff --git a/src/fs/ufs/store_dir_ufs.cc b/src/fs/ufs/store_dir_ufs.cc index 3e47b1138e..3c7253e1e8 100644 --- a/src/fs/ufs/store_dir_ufs.cc +++ b/src/fs/ufs/store_dir_ufs.cc @@ -1,6 +1,6 @@ /* - * $Id: store_dir_ufs.cc,v 1.18 2000/12/09 00:35:05 wessels Exp $ + * $Id: store_dir_ufs.cc,v 1.19 2000/12/09 01:47:23 wessels Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -117,7 +117,6 @@ static EVH storeUfsDirCleanEvent; static int storeUfsDirIs(SwapDir * sd); static int storeUfsFilenoBelongsHere(int fn, int F0, int F1, int F2); static int storeUfsCleanupDoubleCheck(SwapDir *, StoreEntry *); -static int storeUfsCheckFile(SwapDir * sd, sfileno filn, size_t swap_file_sz); static void storeUfsDirStats(SwapDir *, StoreEntry *); static void storeUfsDirInitBitmap(SwapDir *); static int storeUfsDirValidFileno(SwapDir *, sfileno, int); @@ -476,7 +475,6 @@ storeUfsDirRebuildFromDirectory(void *data) debug(20, 1) ("storeUfsDirRebuildFromDirectory: SIZE MISMATCH %d!=%d\n", tmpe.swap_file_sz, (int) sb.st_size); storeUfsDirUnlinkFile(SD, sfileno); - rb->counts.filesizemismatchcount++; continue; } if (EBIT_TEST(tmpe.flags, KEY_PRIVATE)) { @@ -524,7 +522,6 @@ storeUfsDirRebuildFromSwapLog(void *data) int count; int used; /* is swapfile already in use? */ int disk_entry_newer; /* is the log entry newer than current entry? */ - int file_bad; double x; assert(rb != NULL); /* load a number of objects per invocation */ @@ -610,21 +607,7 @@ storeUfsDirRebuildFromSwapLog(void *data) * appear to have a newer entry? Compare 'lastref' from the * swap log to e->lastref. */ disk_entry_newer = e ? (s.lastref > e->lastref ? 1 : 0) : 0; - if (!used && (rb->flags.need_to_validate || - (opt_store_doublecheck != DBLCHECK_NONE))) { - file_bad = storeUfsCheckFile(SD, s.swap_filen, s.swap_file_sz); - } else - file_bad = 0; - if (file_bad) { - if (file_bad == -2) { - if (opt_store_doublecheck == DBLCHECK_FORCE) - storeUfsDirUnlinkFile(SD, s.swap_filen); - rb->counts.filesizemismatchcount++; - continue; - } - rb->counts.missingcount++; - continue; - } else if (used && !disk_entry_newer) { + if (used && !disk_entry_newer) { /* log entry is old, ignore it */ rb->counts.clashcount++; continue; @@ -687,19 +670,19 @@ storeUfsDirRebuildFromSwapLog(void *data) /* load new */ (void) 0; } - /* update store_swap_size */ - rb->counts.objcount++; - e = storeUfsDirAddDiskRestore(SD, s.key, - s.swap_filen, - s.swap_file_sz, - s.expires, - s.timestamp, - s.lastref, - s.lastmod, - s.refcount, - s.flags, - (int) rb->flags.clean); - storeDirSwapLog(e, SWAP_LOG_ADD); + /* update store_swap_size */ + rb->counts.objcount++; + e = storeUfsDirAddDiskRestore(SD, s.key, + s.swap_filen, + s.swap_file_sz, + s.expires, + s.timestamp, + s.lastref, + s.lastmod, + s.refcount, + s.flags, + (int) rb->flags.clean); + storeDirSwapLog(e, SWAP_LOG_ADD); } eventAdd("storeRebuild", storeUfsDirRebuildFromSwapLog, rb, 0.0, 1); } @@ -1595,42 +1578,29 @@ storeUfsDirFullPath(SwapDir * SD, sfileno filn, char *fullpath) */ static int storeUfsCleanupDoubleCheck(SwapDir * sd, StoreEntry * e) -{ - int rv = storeUfsCheckFile(sd, e->swap_filen, e->swap_file_sz); - if (rv) - storeEntryDump(e, 0); - return rv; -} - -/* - * storeUfsCheckFile - * - * This is called by storerebuildFromSwapLog if -S was given on the command line. or a Dirty state is found - */ -static int -storeUfsCheckFile(SwapDir * sd, sfileno filen, size_t swap_file_sz) { struct stat sb; - - if (stat(storeUfsDirFullPath(sd, filen, NULL), &sb) < 0) { - debug(20, 1) ("storeUfsCheckFile: MISSING SWAP FILE\n"); - debug(20, 1) ("storeUfsCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeUfsCheckFile: PATH %s\n", storeUfsDirFullPath(sd, filen, NULL)); - + if (stat(storeUfsDirFullPath(sd, e->swap_filen, NULL), &sb) < 0) { + debug(20, 0) ("storeUfsCleanupDoubleCheck: MISSING SWAP FILE\n"); + debug(20, 0) ("storeUfsCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeUfsCleanupDoubleCheck: PATH %s\n", + storeUfsDirFullPath(sd, e->swap_filen, NULL)); + storeEntryDump(e, 0); return -1; } - if (swap_file_sz != sb.st_size) { - debug(20, 1) ("storeUfsCheckFile: SIZE MISMATCH\n"); - debug(20, 1) ("storeUfsCheckFile: FILENO %08X\n", filen); - debug(20, 1) ("storeUfsCheckFile: PATH %s\n", storeUfsDirFullPath(sd, filen, NULL)); - debug(20, 1) ("storeUfsCheckFile: ENTRY SIZE: %d, FILE SIZE: %d\n", swap_file_sz, (int) sb.st_size); - return -2; + if (e->swap_file_sz != sb.st_size) { + debug(20, 0) ("storeUfsCleanupDoubleCheck: SIZE MISMATCH\n"); + debug(20, 0) ("storeUfsCleanupDoubleCheck: FILENO %08X\n", e->swap_filen); + debug(20, 0) ("storeUfsCleanupDoubleCheck: PATH %s\n", + storeUfsDirFullPath(sd, e->swap_filen, NULL)); + debug(20, 0) ("storeUfsCleanupDoubleCheck: ENTRY SIZE: %d, FILE SIZE: %d\n", + e->swap_file_sz, (int) sb.st_size); + storeEntryDump(e, 0); + return -1; } return 0; } - - /* * storeUfsDirParse * diff --git a/src/globals.h b/src/globals.h index 2ce0ac9fb3..81414376de 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1,6 +1,6 @@ /* - * $Id: globals.h,v 1.98 2000/11/10 09:04:51 adrian Exp $ + * $Id: globals.h,v 1.99 2000/12/09 01:47:18 wessels Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -87,7 +87,7 @@ extern int opt_reload_hit_only; /* 0 */ extern int opt_syslog_enable; /* 0 */ extern int opt_udp_hit_obj; /* 0 */ extern int opt_create_swap_dirs; /* 0 */ -extern dblcheck_t opt_store_doublecheck; /* DBLCHECK_NONE */ +extern int opt_store_doublecheck; /* 0 */ extern int syslog_enable; /* 0 */ extern int theInIcpConnection; /* -1 */ extern int theOutIcpConnection; /* -1 */ diff --git a/src/main.cc b/src/main.cc index 3b8519450d..ac8d5d2512 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,6 +1,6 @@ /* - * $Id: main.cc,v 1.323 2000/12/05 09:15:59 wessels Exp $ + * $Id: main.cc,v 1.324 2000/12/09 01:47:18 wessels Exp $ * * DEBUG: section 1 Startup and Main Loop * AUTHOR: Harvest Derived @@ -101,8 +101,7 @@ usage(void) " -F Don't serve any requests until store is rebuilt.\n" " -N No daemon mode.\n" " -R Do not set REUSEADDR on port.\n" - " -S force Force double-check swap during rebuild.\n" - " -S reportonly Force double-check but do not attempt repair.\n" + " -S Double-check swap during rebuild.\n" " -V Virtual host httpd-accelerator.\n" " -X Force full debugging.\n" " -Y Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.\n", @@ -116,7 +115,7 @@ mainParseOptions(int argc, char *argv[]) extern char *optarg; int c; - while ((c = getopt(argc, argv, "CDFNRS:VYXa:d:f:hk:m::su:vz?")) != -1) { + while ((c = getopt(argc, argv, "CDFNRSVYXa:d:f:hk:m::su:vz?")) != -1) { switch (c) { case 'C': opt_catch_signals = 0; @@ -134,14 +133,7 @@ mainParseOptions(int argc, char *argv[]) opt_reuseaddr = 0; break; case 'S': - if ((int) strlen(optarg) < 1) - usage(); - else if (!strncmp(optarg, "force", strlen(optarg))) - opt_store_doublecheck = DBLCHECK_FORCE; /* trigger a doublecheck on startup */ - else if (!strncmp(optarg, "reportonly", strlen(optarg))) - opt_store_doublecheck = DBLCHECK_REPORTONLY; /* trigger a doublecheck that doesn't repair */ - else - usage(); + opt_store_doublecheck = 1; break; case 'V': vhost_mode = 1; diff --git a/src/store_rebuild.cc b/src/store_rebuild.cc index 37f7f9666f..5a75aabd4b 100644 --- a/src/store_rebuild.cc +++ b/src/store_rebuild.cc @@ -1,6 +1,6 @@ /* - * $Id: store_rebuild.cc,v 1.73 2000/12/05 09:16:00 wessels Exp $ + * $Id: store_rebuild.cc,v 1.74 2000/12/09 01:47:18 wessels Exp $ * * DEBUG: section 20 Store Rebuild Routines * AUTHOR: Duane Wessels @@ -73,8 +73,7 @@ storeCleanup(void *datanotused) debug(20, 1) (" store_swap_size = %dk\n", store_swap_size); store_dirs_rebuilding--; assert(0 == store_dirs_rebuilding); - if (opt_store_doublecheck != DBLCHECK_NONE) - /* we want to assert here because the storeFScode should auto-clean the entries */ + if (opt_store_doublecheck) assert(store_errors == 0); if (store_digest) storeDigestNoteStoreReady(); @@ -92,11 +91,9 @@ storeCleanup(void *datanotused) */ if (e->swap_filen < 0) continue; - if (opt_store_doublecheck != DBLCHECK_NONE) - if (storeCleanupDoubleCheck(e)) { - /* this should never happen as the storeFScode should auto-clean */ + if (opt_store_doublecheck) + if (storeCleanupDoubleCheck(e)) store_errors++; - } EBIT_SET(e->flags, ENTRY_VALIDATED); /* * Only set the file bit if we know its a valid entry @@ -124,8 +121,6 @@ storeRebuildComplete(struct _store_rebuild_data *dc) counts.invalid += dc->invalid; counts.badflags += dc->badflags; counts.bad_log_op += dc->bad_log_op; - counts.missingcount += dc->missingcount; - counts.filesizemismatchcount += dc->filesizemismatchcount; counts.zero_object_sz += dc->zero_object_sz; /* * When store_dirs_rebuilding == 1, it means we are done reading @@ -144,10 +139,6 @@ storeRebuildComplete(struct _store_rebuild_data *dc) debug(20, 1) (" %7d Objects cancelled.\n", counts.cancelcount); debug(20, 1) (" %7d Duplicate URLs purged.\n", counts.dupcount); debug(20, 1) (" %7d Swapfile clashes avoided.\n", counts.clashcount); - debug(20, 1) (" %7d Missing files ignored.\n", counts.missingcount); - debug(20, 1) (" %7d Incorrect length swapfiles %s.\n", - counts.filesizemismatchcount, - (opt_store_doublecheck == DBLCHECK_REPORTONLY) ? "ignored" : "unlinked"); debug(20, 1) (" Took %3.1f seconds (%6.1f objects/sec).\n", dt, (double) counts.objcount / (dt > 0.0 ? dt : 1.0)); debug(20, 1) ("Beginning Validation Procedure\n"); diff --git a/src/structs.h b/src/structs.h index 6eeb3fbe9a..d41888cbe8 100644 --- a/src/structs.h +++ b/src/structs.h @@ -1,6 +1,6 @@ /* - * $Id: structs.h,v 1.366 2000/12/09 00:09:04 wessels Exp $ + * $Id: structs.h,v 1.367 2000/12/09 01:47:19 wessels Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -1852,8 +1852,6 @@ struct _store_rebuild_data { int cancelcount; /* # SWAP_LOG_DEL objects purged */ int invalid; /* # bad lines */ int badflags; /* # bad e->flags */ - int missingcount; /* # swapfiles not on disk */ - int filesizemismatchcount; /* # swapfiles with a wrong size */ int bad_log_op; int zero_object_sz; };