[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lost] [PATCH] cdi: Cache: Auch unbenutzte Blocks am Ende wieder freigeben



---
 src/modules/cdi/lib/cache.c |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/modules/cdi/lib/cache.c b/src/modules/cdi/lib/cache.c
index df325c1..b51655f 100644
--- a/src/modules/cdi/lib/cache.c
+++ b/src/modules/cdi/lib/cache.c
@@ -190,20 +190,19 @@ void cdi_cache_destroy(struct cdi_cache* cache)
         b = c->blocks + i;
 
         // Ungueltige Blocks ueberspringen
-        if (b->cdi.number == INVBLKNUM) {
-            continue;
-        }
+        if (b->cdi.number != INVBLKNUM) {
 
-        if (b->ref_count) {
-            printf("cdi_cache: Beim Zerstoeren des Caches wurde ein Block "
-                "gefunden, der einen Referenzzaehler != 0 hat (%lld)\n",
-                (unsigned long long) b->cdi.number);
-        }
+            if (b->ref_count) {
+                printf("cdi_cache: Beim Zerstoeren des Caches wurde ein Block "
+                    "gefunden, der einen Referenzzaehler != 0 hat (%lld)\n",
+                    (unsigned long long) b->cdi.number);
+            }
 
-        if (b->dirty) {
-            printf("cdi_cache: Beim Zerstoeren des Caches wurde ein Block "
-                "gefunden, der als veraendert markiert ist (%lld)\n",
-                (unsigned long long) b->cdi.number);
+            if (b->dirty) {
+                printf("cdi_cache: Beim Zerstoeren des Caches wurde ein Block "
+                    "gefunden, der als veraendert markiert ist (%lld)\n",
+                    (unsigned long long) b->cdi.number);
+            }
         }
 
         free(b->cdi.data);
-- 
1.5.4.5