diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2016-01-14 16:35:35 +0100 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-01-21 19:36:08 +0100 |
commit | 6abe097db59e1a5af7f082709f38bd95c54ccca1 (patch) | |
tree | 36ab1b6315e4b421f6cd5f25919330b8222da2d6 /net/ceph/auth_x.h | |
parent | f6330cc1f04b7dcb84b572d402cdacf7e275a022 (diff) |
libceph: fix authorizer invalidation, take 2
Back in 2013, commit 4b8e8b5d78b8 ("libceph: fix authorizer
invalidation") tried to fix authorizer invalidation issues by clearing
validity field. However, nothing ever consults this field, so it
doesn't force us to request any new secrets in any way and therefore we
never get out of the exponential backoff mode:
[ 129.973812] libceph: osd2 192.168.122.1:6810 connect authorization failure
[ 130.706785] libceph: osd2 192.168.122.1:6810 connect authorization failure
[ 131.710088] libceph: osd2 192.168.122.1:6810 connect authorization failure
[ 133.708321] libceph: osd2 192.168.122.1:6810 connect authorization failure
[ 137.706598] libceph: osd2 192.168.122.1:6810 connect authorization failure
...
AFAICT this was the case at the time 4b8e8b5d78b8 was merged, too.
Using timespec solely as a bool isn't nice, so introduce a new have_key
flag, specifically for this purpose.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Diffstat (limited to 'net/ceph/auth_x.h')
-rw-r--r-- | net/ceph/auth_x.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ceph/auth_x.h b/net/ceph/auth_x.h index e8b7c6917d47..5334b9b159c5 100644 --- a/net/ceph/auth_x.h +++ b/net/ceph/auth_x.h @@ -17,6 +17,7 @@ struct ceph_x_ticket_handler { struct ceph_crypto_key session_key; struct ceph_timespec validity; + bool have_key; u64 secret_id; struct ceph_buffer *ticket_blob; |