aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/messenger.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-02-02 19:21:06 -0500
committerSage Weil <sage@newdream.net>2010-02-10 18:04:47 -0500
commit9bd2e6f8ba71facf1cadb7154a7e0e4d345a6aba (patch)
tree1c1bb4d2f769eca05443b98334fe0fbdb3b977c2 /fs/ceph/messenger.c
parent8b6e4f2d8b21c25225b1ce8d53a2e03b92cc8522 (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.c9
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) {