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

Re: [win-pv-devel] [PATCH 5/8] Refactor - move more functions



> -----Original Message-----
> From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel-
> bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Owen Smith
> Sent: 27 October 2015 11:16
> To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Owen Smith
> Subject: [win-pv-devel] [PATCH 5/8] Refactor - move more functions
> 
> Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>

Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx>

> ---
>  src/xenvbd/pdo.c | 120 +++++++++++++++++++++++++++---------------------
> -------
>  1 file changed, 60 insertions(+), 60 deletions(-)
> 
> diff --git a/src/xenvbd/pdo.c b/src/xenvbd/pdo.c
> index 172fa67..4e88302 100644
> --- a/src/xenvbd/pdo.c
> +++ b/src/xenvbd/pdo.c
> @@ -2077,66 +2077,6 @@ __PdoReset(
>      return TRUE;
>  }
> 
> -static FORCEINLINE VOID
> -__PdoCleanupSubmittedReqs(
> -    IN  PXENVBD_PDO             Pdo
> -    )
> -{
> -    // Fail PreparedReqs
> -    for (;;) {
> -        PXENVBD_SRBEXT  SrbExt;
> -        PXENVBD_REQUEST Request;
> -        PLIST_ENTRY     Entry = QueuePop(&Pdo->SubmittedReqs);
> -        if (Entry == NULL)
> -            break;
> -        Request = CONTAINING_RECORD(Entry, XENVBD_REQUEST, Entry);
> -        SrbExt = GetSrbExt(Request->Srb);
> -
> -        Verbose("Target[%d] : SubmittedReq 0x%p -> FAILED\n",
> PdoGetTargetId(Pdo), Request);
> -
> -        RequestCleanup(Pdo, Request);
> -        __LookasideFree(&Pdo->RequestList, Request);
> -
> -        if (InterlockedDecrement(&SrbExt->Count) == 0) {
> -            SrbExt->Srb->SrbStatus = SRB_STATUS_ABORTED;
> -            SrbExt->Srb->ScsiStatus = 0x40; // SCSI_ABORTED
> -            FdoCompleteSrb(PdoGetFdo(Pdo), SrbExt->Srb);
> -        }
> -    }
> -}
> -
> -VOID
> -PdoReset(
> -    __in PXENVBD_PDO             Pdo
> -    )
> -{
> -    NTSTATUS        Status;
> -
> -    Trace("Target[%d] ====> (Irql=%d)\n", PdoGetTargetId(Pdo),
> KeGetCurrentIrql());
> -
> -    __PdoPauseDataPath(Pdo, TRUE);
> -
> -    if (QueueCount(&Pdo->SubmittedReqs)) {
> -        Error("Target[%d] : backend has %u outstanding requests after a
> PdoReset\n",
> -                PdoGetTargetId(Pdo), QueueCount(&Pdo->SubmittedReqs));
> -    }
> -
> -    Status = FrontendSetState(Pdo->Frontend, XENVBD_CLOSING);
> -    ASSERT(NT_SUCCESS(Status));
> -
> -    __PdoCleanupSubmittedReqs(Pdo);
> -
> -    Status = FrontendSetState(Pdo->Frontend, XENVBD_CLOSED);
> -    ASSERT(NT_SUCCESS(Status));
> -
> -    Status = FrontendSetState(Pdo->Frontend, XENVBD_ENABLED);
> -    ASSERT(NT_SUCCESS(Status));
> -
> -    __PdoUnpauseDataPath(Pdo);
> -
> -    Trace("Target[%d] <==== (Irql=%d)\n", PdoGetTargetId(Pdo),
> KeGetCurrentIrql());
> -}
> -
>  __checkReturn
>  static FORCEINLINE BOOLEAN
>  __ValidateSrbForPdo(
> @@ -2210,6 +2150,66 @@ PdoStartIo(
>      }
>  }
> 
> +static FORCEINLINE VOID
> +__PdoCleanupSubmittedReqs(
> +    IN  PXENVBD_PDO             Pdo
> +    )
> +{
> +    // Fail PreparedReqs
> +    for (;;) {
> +        PXENVBD_SRBEXT  SrbExt;
> +        PXENVBD_REQUEST Request;
> +        PLIST_ENTRY     Entry = QueuePop(&Pdo->SubmittedReqs);
> +        if (Entry == NULL)
> +            break;
> +        Request = CONTAINING_RECORD(Entry, XENVBD_REQUEST, Entry);
> +        SrbExt = GetSrbExt(Request->Srb);
> +
> +        Verbose("Target[%d] : SubmittedReq 0x%p -> FAILED\n",
> PdoGetTargetId(Pdo), Request);
> +
> +        RequestCleanup(Pdo, Request);
> +        __LookasideFree(&Pdo->RequestList, Request);
> +
> +        if (InterlockedDecrement(&SrbExt->Count) == 0) {
> +            SrbExt->Srb->SrbStatus = SRB_STATUS_ABORTED;
> +            SrbExt->Srb->ScsiStatus = 0x40; // SCSI_ABORTED
> +            FdoCompleteSrb(PdoGetFdo(Pdo), SrbExt->Srb);
> +        }
> +    }
> +}
> +
> +VOID
> +PdoReset(
> +    __in PXENVBD_PDO             Pdo
> +    )
> +{
> +    NTSTATUS        Status;
> +
> +    Trace("Target[%d] ====> (Irql=%d)\n", PdoGetTargetId(Pdo),
> KeGetCurrentIrql());
> +
> +    __PdoPauseDataPath(Pdo, TRUE);
> +
> +    if (QueueCount(&Pdo->SubmittedReqs)) {
> +        Error("Target[%d] : backend has %u outstanding requests after a
> PdoReset\n",
> +                PdoGetTargetId(Pdo), QueueCount(&Pdo->SubmittedReqs));
> +    }
> +
> +    Status = FrontendSetState(Pdo->Frontend, XENVBD_CLOSING);
> +    ASSERT(NT_SUCCESS(Status));
> +
> +    __PdoCleanupSubmittedReqs(Pdo);
> +
> +    Status = FrontendSetState(Pdo->Frontend, XENVBD_CLOSED);
> +    ASSERT(NT_SUCCESS(Status));
> +
> +    Status = FrontendSetState(Pdo->Frontend, XENVBD_ENABLED);
> +    ASSERT(NT_SUCCESS(Status));
> +
> +    __PdoUnpauseDataPath(Pdo);
> +
> +    Trace("Target[%d] <==== (Irql=%d)\n", PdoGetTargetId(Pdo),
> KeGetCurrentIrql());
> +}
> +
> 
> //=========================================================
> ====================
>  // PnP Handler
>  static FORCEINLINE VOID
> --
> 1.9.4.msysgit.1
> 
> 
> _______________________________________________
> win-pv-devel mailing list
> win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.