aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/mds_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r--fs/ceph/mds_client.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 4e3e8b229e67..aa8506bad42d 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -2946,12 +2946,25 @@ static int verify_authorizer_reply(struct ceph_connection *con, int len)
2946 return ac->ops->verify_authorizer_reply(ac, s->s_authorizer, len); 2946 return ac->ops->verify_authorizer_reply(ac, s->s_authorizer, len);
2947} 2947}
2948 2948
2949static int invalidate_authorizer(struct ceph_connection *con)
2950{
2951 struct ceph_mds_session *s = con->private;
2952 struct ceph_mds_client *mdsc = s->s_mdsc;
2953 struct ceph_auth_client *ac = mdsc->client->monc.auth;
2954
2955 if (ac->ops->invalidate_authorizer)
2956 ac->ops->invalidate_authorizer(ac, CEPH_ENTITY_TYPE_MDS);
2957
2958 return ceph_monc_validate_auth(&mdsc->client->monc);
2959}
2960
2949const static struct ceph_connection_operations mds_con_ops = { 2961const static struct ceph_connection_operations mds_con_ops = {
2950 .get = con_get, 2962 .get = con_get,
2951 .put = con_put, 2963 .put = con_put,
2952 .dispatch = dispatch, 2964 .dispatch = dispatch,
2953 .get_authorizer = get_authorizer, 2965 .get_authorizer = get_authorizer,
2954 .verify_authorizer_reply = verify_authorizer_reply, 2966 .verify_authorizer_reply = verify_authorizer_reply,
2967 .invalidate_authorizer = invalidate_authorizer,
2955 .peer_reset = peer_reset, 2968 .peer_reset = peer_reset,
2956}; 2969};
2957 2970