]> xenbits.xensource.com Git - pvdrivers/win/xenvbd.git/commitdiff
Refactor: internalize request preparation functions into a single call
authorOwen Smith <owen.smith@citrix.com>
Tue, 20 May 2014 08:53:58 +0000 (09:53 +0100)
committerOwen Smith <owen.smith@citrix.com>
Tue, 20 May 2014 08:53:58 +0000 (09:53 +0100)
Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xenvbd/blockring.c
src/xenvbd/frontend.c
src/xenvbd/pdo.c
src/xenvbd/pdo.h

index 972b923049c9f7bd972efed87f70612108954798..0d76c3ceb512c18ec9e9bf4e16a815246ca46eae 100644 (file)
@@ -497,7 +497,7 @@ BlockRingPoll(
             if (__BlockRingPutTag(BlockRing, Response->id, &Tag)) {
                 ++BlockRing->Recieved;
                 --BlockRing->Outstanding;
-                PdoCompleteSubmitted(Pdo, Tag, Response->status);
+                PdoCompleteResponse(Pdo, Tag, Response->status);
             }
 
             RtlZeroMemory(Response, sizeof(union blkif_sring_entry));
index 38d70a1c0d2c1d52882d3c83d39434c2f26e8726..06c0be0c63e87ee1da09fdf80b8138ceae3a1297 100644 (file)
@@ -300,9 +300,7 @@ FrontendNotifyResponses(
     )
 {
     BlockRingPoll(Frontend->BlockRing);
-    PdoPrepareFresh(Frontend->Pdo);
-    PdoSubmitPrepared(Frontend->Pdo);
-    PdoCompleteShutdown(Frontend->Pdo);
+    PdoSubmitRequests(Frontend->Pdo);
 }
 
 //=============================================================================
index 912f94c13ab2806cd21f263563eb5bfc8762e398..b944024b60943bda0f28c2413a85f4af93717ecd 100644 (file)
@@ -1541,7 +1541,7 @@ PrepareUnmap(
 
 //=============================================================================
 // Queue-Related
-VOID
+static FORCEINLINE VOID
 PdoPrepareFresh(
     __in PXENVBD_PDO             Pdo
     )
@@ -1580,7 +1580,7 @@ PdoPrepareFresh(
     }
 }
 
-VOID
+static FORCEINLINE VOID
 PdoSubmitPrepared(
     __in PXENVBD_PDO             Pdo
     )
@@ -1609,6 +1609,30 @@ PdoSubmitPrepared(
     }
 }
 
+static FORCEINLINE VOID
+PdoCompleteShutdown(
+    __in PXENVBD_PDO             Pdo
+    )
+{
+    if (QueueCount(&Pdo->ShutdownSrbs) == 0)
+        return;
+
+    if (QueueCount(&Pdo->FreshSrbs) ||
+        QueueCount(&Pdo->PreparedReqs) ||
+        QueueCount(&Pdo->SubmittedReqs))
+        return;
+
+    for (;;) {
+        PXENVBD_SRBEXT  SrbExt;
+        PLIST_ENTRY     Entry = QueuePop(&Pdo->ShutdownSrbs);
+        if (Entry == NULL)
+            break;
+        SrbExt = CONTAINING_RECORD(Entry, XENVBD_SRBEXT, Entry);
+        SrbExt->Srb->SrbStatus = SRB_STATUS_SUCCESS;
+        FdoCompleteSrb(PdoGetFdo(Pdo), SrbExt->Srb);
+    }
+}
+
 static FORCEINLINE PCHAR
 BlkifOperationName(
     IN  UCHAR                   Operation
@@ -1627,7 +1651,17 @@ BlkifOperationName(
 }
 
 VOID
-PdoCompleteSubmitted(
+PdoSubmitRequests(
+    __in PXENVBD_PDO             Pdo
+    )
+{
+    PdoPrepareFresh(Pdo);
+    PdoSubmitPrepared(Pdo);
+    PdoCompleteShutdown(Pdo);
+}
+
+VOID
+PdoCompleteResponse(
     __in PXENVBD_PDO             Pdo,
     __in ULONG                   Tag,
     __in SHORT                   Status
@@ -1685,30 +1719,6 @@ PdoCompleteSubmitted(
     }
 }
 
-VOID
-PdoCompleteShutdown(
-    __in PXENVBD_PDO             Pdo
-    )
-{
-    if (QueueCount(&Pdo->ShutdownSrbs) == 0)
-        return;
-
-    if (QueueCount(&Pdo->FreshSrbs) ||
-        QueueCount(&Pdo->PreparedReqs) ||
-        QueueCount(&Pdo->SubmittedReqs))
-        return;
-
-    for (;;) {
-        PXENVBD_SRBEXT  SrbExt;
-        PLIST_ENTRY     Entry = QueuePop(&Pdo->ShutdownSrbs);
-        if (Entry == NULL)
-            break;
-        SrbExt = CONTAINING_RECORD(Entry, XENVBD_SRBEXT, Entry);
-        SrbExt->Srb->SrbStatus = SRB_STATUS_SUCCESS;
-        FdoCompleteSrb(PdoGetFdo(Pdo), SrbExt->Srb);
-    }
-}
-
 VOID
 PdoPreResume(
     __in PXENVBD_PDO             Pdo
index 6cab59904b64c1c0aed1bc1782963c28f6604f26..85c753ecb4cb5530d04543fcab7875e6215a19f6 100644 (file)
@@ -178,27 +178,17 @@ PdoSectorSize(
 
 // Queue-Related
 extern VOID
-PdoPrepareFresh(
+PdoSubmitRequests(
     __in PXENVBD_PDO             Pdo
     );
 
 extern VOID
-PdoSubmitPrepared(
-    __in PXENVBD_PDO             Pdo
-    );
-
-extern VOID
-PdoCompleteSubmitted(
+PdoCompleteResponse(
     __in PXENVBD_PDO             Pdo,
     __in ULONG                   Tag,
     __in SHORT                   Status
     );
 
-extern VOID
-PdoCompleteShutdown(
-    __in PXENVBD_PDO             Pdo
-    );
-
 extern VOID
 PdoPreResume(
     __in PXENVBD_PDO             Pdo