CIFS protocol question - does the server have to respond to requestsin a serialized manner? - SMB

This is a discussion on CIFS protocol question - does the server have to respond to requestsin a serialized manner? - SMB ; Hi folks. One of the projects I work on is OpenAFS for Windows (OAFW). The OAFW architecture utilizes a CIFS Server as a front end to the AFS Cache Manager. Windows applications access AFS via the Windows CIFS client using ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: CIFS protocol question - does the server have to respond to requestsin a serialized manner?

  1. CIFS protocol question - does the server have to respond to requestsin a serialized manner?

    Hi folks. One of the projects I work on is OpenAFS for Windows (OAFW).
    The OAFW architecture utilizes a CIFS Server as a front end to the
    AFS Cache Manager. Windows applications access AFS via the Windows CIFS
    client using the UNC path \\AFS\\.

    Over the last couple of years a lot of work has been done to reduce
    bottlenecks and improve the performance of the AFS Cache Manager. As
    the performance of the cache has improved and fewer CIFS requests
    require communication with the AFS file servers I have noticed an
    increase in the frequency with which the Windows CIFS client drops the
    connection to the CIFS server.

    Since the connection is over the Microsoft Loopback Adapter interface
    I am confident that the connection loss is not due to a networking
    error. Instead I believe the problem is being caused due to the client
    believing that a request has timed out. This is causing me to wonder
    whether there are any requirements that the CIFS server respond to
    requests in the order that they are received? Do requests against a
    single FID need to be serialized?

    For example, a write operation can be performed and it will update the
    cache contents and then proceed to write the data back to the AFS file
    server. A subsequent read request will be fulfilled from the cache
    while the write is still flushing. There is no data consistency issue
    but if the write takes 45 seconds due to slow network performance or
    because a large number of writes have taken place, the CIFS client drops
    the connection.

    Is there a requirement that CIFS requests on a given FID be fulfilled
    in the order they are received? If not, does the algorithm used by
    the CIFS client to determine when the connection needs to be
    re-established sensitive to the response time of status queries and
    reads vs writes and flushes?

    Thanks.

    Jeffrey Altman
    OpenAFS Gatekeeper

  2. Re: CIFS protocol question - does the server have to respond to requests in a serialized manner?

    On Thu, 06 Jul 2006 19:14:48 +0000, Jeffrey Altman wrote:

    > For example, a write operation can be performed and it will update the
    > cache contents and then proceed to write the data back to the AFS file
    > server. A subsequent read request will be fulfilled from the cache while
    > the write is still flushing. There is no data consistency issue but if
    > the write takes 45 seconds due to slow network performance or because a
    > large number of writes have taken place, the CIFS client drops the
    > connection.


    The CIFS redirector usually times out after 30 seconds. You need to
    make sure requests complete in that time.

    Jeremy.

+ Reply to Thread