]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Maximum number of slots is the maximum number of entries rather than
authorAlex Rousskov <rousskov@measurement-factory.com>
Wed, 5 Dec 2012 20:03:38 +0000 (13:03 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Wed, 5 Dec 2012 20:03:38 +0000 (13:03 -0700)
maximum number of bytes.

Renamed loaded member to processed, to avoid name clash with a local counter.

src/fs/rock/RockRebuild.cc
src/fs/rock/RockRebuild.h

index 3705ad981e55e047753a4b56c996903eb0872389..59096d29ad479d03d8654211fe46b4ab4ca381a7 100644 (file)
@@ -36,9 +36,9 @@ Rock::Rebuild::Rebuild(SwapDir *dir): AsyncJob("Rock::Rebuild"),
     dbSize = sd->diskOffsetLimit(); // we do not care about the trailer waste
     dbEntrySize = sd->slotSize;
     dbEntryLimit = sd->entryLimit();
-    loaded.reserve(dbSize);
-    for (size_t i = 0; i < loaded.size(); ++i)
-        loaded.push_back(false);
+    processed.reserve(dbEntryLimit);
+    while (static_cast<int>(processed.size()) < dbEntryLimit)
+        processed.push_back(false);
 }
 
 Rock::Rebuild::~Rebuild()
@@ -225,7 +225,7 @@ Rock::Rebuild::doOneSlot()
     debugs(47,5, HERE << sd->index << " filen " << filen << " at " <<
            dbSlot << " <= " << dbSize);
 
-    if (loaded[dbSlot])
+    if (processed[dbSlot])
         return;
 
     Ipc::Mem::PageId pageId;
@@ -269,6 +269,6 @@ Rock::Rebuild::failure(const char *msg, int errNo)
 void Rock::Rebuild::invalidSlot(Ipc::Mem::PageId &pageId)
 {
     ++counts.invalid;
-    loaded[pageId.number - 1] = true;
+    processed[pageId.number - 1] = true;
     sd->dbSlotIndex->push(pageId);
 }
index 787d5682cb8a617824ea3b444647769eaa6fd2ce..e5386a8bac1191a658c703977fb88ae51400fc67 100644 (file)
@@ -52,7 +52,8 @@ private:
     int64_t dbOffset;
     int filen;
 
-    Vector<bool> loaded; ///< true iff rebuilt is complete for a given slot
+    // TODO: use std::bitmap?
+    Vector<bool> processed; ///< true iff rebuilt is complete for a given slot
 
     StoreRebuildData counts;