diff options
author | Sage Weil <sage@newdream.net> | 2010-02-02 19:21:06 -0500 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-02-10 18:04:47 -0500 |
commit | 9bd2e6f8ba71facf1cadb7154a7e0e4d345a6aba (patch) | |
tree | 1c1bb4d2f769eca05443b98334fe0fbdb3b977c2 /fs/ceph/messenger.c | |
parent | 8b6e4f2d8b21c25225b1ce8d53a2e03b92cc8522 (diff) |
ceph: allow renewal of auth credentials
Add infrastructure to allow the mon_client to periodically renew its auth
credentials. Also add a messenger callback that will force such a renewal
if a peer rejects our authenticator.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/messenger.c')
-rw-r--r-- | fs/ceph/messenger.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c index e4e8d4439d3a..c4341784ec8f 100644 --- a/fs/ceph/messenger.c +++ b/fs/ceph/messenger.c | |||
@@ -1849,6 +1849,15 @@ static void ceph_fault(struct ceph_connection *con) | |||
1849 | con->in_msg = NULL; | 1849 | con->in_msg = NULL; |
1850 | } | 1850 | } |
1851 | 1851 | ||
1852 | /* | ||
1853 | * in case we faulted due to authentication, invalidate our | ||
1854 | * current tickets so that we can get new ones. | ||
1855 | */ | ||
1856 | if (con->auth_retry && con->ops->invalidate_authorizer) { | ||
1857 | dout("calling invalidate_authorizer()\n"); | ||
1858 | con->ops->invalidate_authorizer(con); | ||
1859 | } | ||
1860 | |||
1852 | /* If there are no messages in the queue, place the connection | 1861 | /* If there are no messages in the queue, place the connection |
1853 | * in a STANDBY state (i.e., don't try to reconnect just yet). */ | 1862 | * in a STANDBY state (i.e., don't try to reconnect just yet). */ |
1854 | if (list_empty(&con->out_queue) && !con->out_keepalive_pending) { | 1863 | if (list_empty(&con->out_queue) && !con->out_keepalive_pending) { |