• Sage Weil's avatar
    ceph: fix message revocation · ed98adad
    Sage Weil authored
    A message can be on a queue (pending or sent), or out_msg (sending), or
    both.  We were assuming that if it's not on a queue it couldn't be out_msg,
    but that was false in the case of lossy connections like the OSD.  Fix
    ceph_con_revoke() to treat these cases independently.  Also, fix the
    out_kvec_is_message check to only trigger if we are currently sending
    _this_ message.
    
    This fixes a GPF in tcp_sendpage, triggered by OSD restarts.
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    ed98adad
messenger.c 56.8 KB