• Sage Weil's avatar
    ceph: control access to page vector for incoming data · 350b1c32
    Sage Weil authored
    When we issue an OSD read, we specify a vector of pages that the data is to
    be read into.  The request may be sent multiple times, to multiple OSDs, if
    the osdmap changes, which means we can get more than one reply.
    
    Only read data into the page vector if the reply is coming from the
    OSD we last sent the request to.  Keep track of which connection is using
    the vector by taking a reference.  If another connection was already
    using the vector before and a new reply comes in on the right connection,
    revoke the pages from the other connection.
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    350b1c32
osd_client.c 35.5 KB