libceph: clear messenger auth_retry flag if we fault
Commit
20e55c4cc758 ("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: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>