]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: fix authorizer invalidation, take 2
authorIlya Dryomov <idryomov@gmail.com>
Thu, 14 Jan 2016 15:35:35 +0000 (16:35 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 21 Jan 2016 18:36:08 +0000 (19:36 +0100)
commit740b8072ff5d4e1b211618335c349258c74bbb3c
tree36ab1b6315e4b421f6cd5f25919330b8222da2d6
parent8b983697158e64e4bde02119adb3893fdb4cd677
libceph: fix authorizer invalidation, take 2

Back in 2013, commit d49ef080c5ae ("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 d49ef080c5ae 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>
net/ceph/auth_x.c
net/ceph/auth_x.h