]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
only call storeDirUpdateSwapSize() when we change the state to
authorwessels <>
Mon, 27 Oct 1997 11:30:22 +0000 (11:30 +0000)
committerwessels <>
Mon, 27 Oct 1997 11:30:22 +0000 (11:30 +0000)
SWAPOUT_DONE

src/store.cc

index c31ae37a36f9d9d9cd52ac61c5d1e81af037cfed..b9fb80655283ed862459211d5a01c2eea0bdcd43 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.cc,v 1.314 1997/10/26 02:35:39 wessels Exp $
+ * $Id: store.cc,v 1.315 1997/10/27 04:30:22 wessels Exp $
  *
  * DEBUG: section 20    Storeage Manager
  * AUTHOR: Harvest Derived
@@ -901,7 +901,6 @@ storeSwapOutHandle(int fd, int flag, size_t len, void *data)
        }
        return;
     }
-    storeDirUpdateSwapSize(e->swap_file_number, len, 1);
     mem->swapout.done_offset += len;
     if (e->store_status == STORE_PENDING || mem->swapout.done_offset < e->object_len) {
        storeCheckSwapOut(e);
@@ -916,6 +915,7 @@ storeSwapOutHandle(int fd, int flag, size_t len, void *data)
        storeReleaseRequest(e);
     } else {
        e->swap_status = SWAPOUT_DONE;
+       storeDirUpdateSwapSize(e->swap_file_number, mem->swapout.done_offset, 1);
        storeLog(STORE_LOG_SWAPOUT, e);
        storeDirSwapLog(e);
     }
@@ -1810,7 +1810,8 @@ storeRelease(StoreEntry * e)
        BIT_SET(e->flag, RELEASE_REQUEST);
        return 0;
     }
-    if (e->swap_status == SWAPOUT_DONE && (e->swap_file_number > -1)) {
+    if (e->swap_file_number > -1) {
+       assert(e->swap_status == SWAPOUT_DONE);
        if (BIT_TEST(e->flag, ENTRY_VALIDATED))
            storePutUnusedFileno(e->swap_file_number);
        storeDirUpdateSwapSize(e->swap_file_number, e->object_len, -1);