Retried I/O - Storage

This is a discussion on Retried I/O - Storage ; Hi, Can anybody help me.. This is my situation: The current load balancing policy is Round Robin; that is, all paths are active. While copying files from my target to my host, I intentionally unplugged one of the two FC ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Retried I/O

  1. Retried I/O

    Hi,
    Can anybody help me.. This is my situation:
    The current load balancing policy is Round Robin; that is, all paths are
    active. While copying files from
    my target to my host, I intentionally unplugged one of the two FC cables
    that connects my host and my target. The result is BSOD. I did this to test
    the failover functionality of the my DSM.

    I tried to use WinDbg and I found out that one of the assetion in the
    DsmpRequestComplete() failed. The assertion checked if the
    NumberOfRequestsInProgress of the deviceInfo is greater than zero.
    DsmpRequestComplete() is called by the MPIO's competion routine. I think
    there is a problem with the DsmId passed in by the MPIO.
    Does this have something to do with the DsmSetCompletion() routine? because
    there are lines there that says that the target of the request changes if
    the I/O is retried, and that I must not depend on the DsmId passed in by the
    MPIO.

    By the way, I am using the sample msdsm codes, included in the mpio1.17
    package, as my base codes.

    what shall i do?..



  2. Re: Retried I/O

    First of all, that is *sample* code. It is not written nor maintained to be
    deployed.

    I suggest you read the MPIO DDK documentation that came with the DDK.

    Now, if you post the output of !analyze -v, that would be more helpful. If
    you want to know if the data passed in is valid, then you need to use the
    dbg command: kp, which will display the parameters passed to the function.
    You can then use 'dt' and display the data structures.

    My question is, why are using the sample code? Are you writing a DSM or
    attempting to use MPIO in a production environment?

    ~kenny

    "graceyd" wrote in message
    news:%23ADXus83HHA.5852@TK2MSFTNGP02.phx.gbl...
    > Hi,
    > Can anybody help me.. This is my situation:
    > The current load balancing policy is Round Robin; that is, all paths are
    > active. While copying files from
    > my target to my host, I intentionally unplugged one of the two FC cables
    > that connects my host and my target. The result is BSOD. I did this to
    > test the failover functionality of the my DSM.
    >
    > I tried to use WinDbg and I found out that one of the assetion in the
    > DsmpRequestComplete() failed. The assertion checked if the
    > NumberOfRequestsInProgress of the deviceInfo is greater than zero.
    > DsmpRequestComplete() is called by the MPIO's competion routine. I think
    > there is a problem with the DsmId passed in by the MPIO.
    > Does this have something to do with the DsmSetCompletion() routine?
    > because there are lines there that says that the target of the request
    > changes if the I/O is retried, and that I must not depend on the DsmId
    > passed in by the MPIO.
    >
    > By the way, I am using the sample msdsm codes, included in the mpio1.17
    > package, as my base codes.
    >
    > what shall i do?..
    >



  3. Re: Retried I/O

    thnx for the reply..

    about your question; yes, i am currently writing a DSM, we are trying to use
    MPIO to create a multipathing management software for our device..

    "Kenny Speer" wrote in message
    news:uN8X$%23$3HHA.5212@TK2MSFTNGP04.phx.gbl...
    > First of all, that is *sample* code. It is not written nor maintained to
    > be deployed.
    >
    > I suggest you read the MPIO DDK documentation that came with the DDK.
    >
    > Now, if you post the output of !analyze -v, that would be more helpful.
    > If you want to know if the data passed in is valid, then you need to use
    > the dbg command: kp, which will display the parameters passed to the
    > function. You can then use 'dt' and display the data structures.
    >
    > My question is, why are using the sample code? Are you writing a DSM or
    > attempting to use MPIO in a production environment?
    >
    > ~kenny
    >
    > "graceyd" wrote in message
    > news:%23ADXus83HHA.5852@TK2MSFTNGP02.phx.gbl...
    >> Hi,
    >> Can anybody help me.. This is my situation:
    >> The current load balancing policy is Round Robin; that is, all paths are
    >> active. While copying files from
    >> my target to my host, I intentionally unplugged one of the two FC cables
    >> that connects my host and my target. The result is BSOD. I did this to
    >> test the failover functionality of the my DSM.
    >>
    >> I tried to use WinDbg and I found out that one of the assetion in the
    >> DsmpRequestComplete() failed. The assertion checked if the
    >> NumberOfRequestsInProgress of the deviceInfo is greater than zero.
    >> DsmpRequestComplete() is called by the MPIO's competion routine. I think
    >> there is a problem with the DsmId passed in by the MPIO.
    >> Does this have something to do with the DsmSetCompletion() routine?
    >> because there are lines there that says that the target of the request
    >> changes if the I/O is retried, and that I must not depend on the DsmId
    >> passed in by the MPIO.
    >>
    >> By the way, I am using the sample msdsm codes, included in the mpio1.17
    >> package, as my base codes.
    >>
    >> what shall i do?..
    >>

    >




+ Reply to Thread