]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: invalidate AUTH in addition to a service ticket
authorIlya Dryomov <idryomov@gmail.com>
Thu, 14 Jan 2016 16:31:51 +0000 (17:31 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 21 Jan 2016 18:36:09 +0000 (19:36 +0100)
commitad669f019a33aff1221c42914a2ce4e59ed7f0c0
treefc39313067801733d39be868da3f56a01393eaf0
parenta66c183b751d2512b17dcb5afb1abc1e208a0f82
libceph: invalidate AUTH in addition to a service ticket

If we fault due to authentication, we invalidate the service ticket we
have and request a new one - the idea being that if a service rejected
our authorizer, it must have expired, despite mon_client's attempts at
periodic renewal.  (The other possibility is that our ticket is too new
and the service hasn't gotten it yet, in which case invalidating isn't
necessary but doesn't hurt.)

Invalidating just the service ticket is not enough, though.  If we
assume a failure on mon_client's part to renew a service ticket, we
have to assume the same for the AUTH ticket.  If our AUTH ticket is
bad, we won't get any service tickets no matter how hard we try, so
invalidate AUTH ticket along with the service ticket.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
net/ceph/auth_x.c