]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commitdiff
Use List macros to manipulate lists
authorOwen Smith <owen.smith@citrix.com>
Thu, 3 Mar 2022 15:06:21 +0000 (15:06 +0000)
committerPaul Durrant <pdurrant@amazon.com>
Mon, 7 Mar 2022 08:18:33 +0000 (08:18 +0000)
Signed-off-by: Owen Smith <owen.smith@citrix.com>
Added comment to note when list removal occurs

Signed-off-by: Paul Durrant <paul@xen.org>
src/xenbus/cache.c

index 8dcb3a78172fb9cf3732b2055fceb487021473ea..13fb0e5cfdb8348f534b897770f1bc8643deaf53 100644 (file)
@@ -688,12 +688,12 @@ CacheSpill(
     if (Cache->Count <= Count)
         goto done;
 
-    ListEntry = Cache->SlabList.Blink;
-    while (ListEntry != &Cache->SlabList) {
-        PLIST_ENTRY         Prev = ListEntry->Blink;
+    while (!IsListEmpty(&Cache->SlabList)) {
         PXENBUS_CACHE_SLAB  Slab;
 
-        ASSERT(!IsListEmpty(&Cache->SlabList));
+        // Actual list removal is done in CacheDestroySlab()
+        ListEntry = Cache->SlabList.Blink;
+        ASSERT(ListEntry != &Cache->SlabList);
 
         Slab = CONTAINING_RECORD(ListEntry, XENBUS_CACHE_SLAB, ListEntry);
 
@@ -705,8 +705,6 @@ CacheSpill(
             break;
 
         CacheDestroySlab(Cache, Slab);
-
-        ListEntry = Prev;
     }
 
     CacheAudit(Cache);