• Ilya Dryomov's avatar
    libceph: clear messenger auth_retry flag if we fault · f6330cc1
    Ilya Dryomov authored
    Commit 20e55c4c ("libceph: clear messenger auth_retry flag when we
    authenticate") got us only half way there.  We clear the flag if the
    second attempt succeeds, but it also needs to be cleared if that
    attempt fails, to allow for the exponential backoff to kick in.
    Otherwise, if ->should_authenticate() thinks our keys are valid, we
    will busy loop, incrementing auth_retry to no avail:
    
        process_connect ffff880079a63830 got BADAUTHORIZER attempt 1
        process_connect ffff880079a63830 got BADAUTHORIZER attempt 2
        process_connect ffff880079a63830 got BADAUTHORIZER attempt 3
        process_connect ffff880079a63830 got BADAUTHORIZER attempt 4
        process_connect ffff880079a63830 got BADAUTHORIZER attempt 5
        ...
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    Reviewed-by: default avatarSage Weil <sage@redhat.com>
    f6330cc1
messenger.c 85.5 KB