summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2018-07-26 17:43:47 +0200
committerIlya Dryomov <idryomov@gmail.com>2018-08-02 21:33:22 +0200
commitc0f56b483aa09c99bfe97409a43ad786f33b8a5a (patch)
treec396c3b40b565a0665e715d6f93edf2798dd9fa9
parentlibceph: store ceph_auth_handshake pointer in ceph_connection (diff)
downloadlinux-c0f56b483aa09c99bfe97409a43ad786f33b8a5a.tar.xz
linux-c0f56b483aa09c99bfe97409a43ad786f33b8a5a.zip
libceph: factor out __prepare_write_connect()
Will be used for sending ceph_msg_connect with an updated authorizer, after the server challenges the initial authorizer. Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Sage Weil <sage@redhat.com>
-rw-r--r--net/ceph/messenger.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index b6ebd2cc16a1..500cc3da586f 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -1469,6 +1469,17 @@ static void prepare_write_banner(struct ceph_connection *con)
con_flag_set(con, CON_FLAG_WRITE_PENDING);
}
+static void __prepare_write_connect(struct ceph_connection *con)
+{
+ con_out_kvec_add(con, sizeof(con->out_connect), &con->out_connect);
+ if (con->auth)
+ con_out_kvec_add(con, con->auth->authorizer_buf_len,
+ con->auth->authorizer_buf);
+
+ con->out_more = 0;
+ con_flag_set(con, CON_FLAG_WRITE_PENDING);
+}
+
static int prepare_write_connect(struct ceph_connection *con)
{
unsigned int global_seq = get_global_seq(con->msgr, 0);
@@ -1504,15 +1515,7 @@ static int prepare_write_connect(struct ceph_connection *con)
if (ret)
return ret;
- con_out_kvec_add(con, sizeof (con->out_connect),
- &con->out_connect);
- if (con->auth)
- con_out_kvec_add(con, con->auth->authorizer_buf_len,
- con->auth->authorizer_buf);
-
- con->out_more = 0;
- con_flag_set(con, CON_FLAG_WRITE_PENDING);
-
+ __prepare_write_connect(con);
return 0;
}