libceph: embed ceph messenger structure in ceph_client
A ceph client has a pointer to a ceph messenger structure in it. There is always exactly one ceph messenger for a ceph client, so there is no need to allocate it separate from the ceph client structure. Switch the ceph_client structure to embed its ceph_messenger structure. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
e22004235a
commit
15d9882c33
7 changed files with 26 additions and 45 deletions
|
@ -763,7 +763,7 @@ int ceph_monc_init(struct ceph_mon_client *monc, struct ceph_client *cl)
|
|||
monc->con = kmalloc(sizeof(*monc->con), GFP_KERNEL);
|
||||
if (!monc->con)
|
||||
goto out_monmap;
|
||||
ceph_con_init(monc->client->msgr, monc->con);
|
||||
ceph_con_init(&monc->client->msgr, monc->con);
|
||||
monc->con->private = monc;
|
||||
monc->con->ops = &mon_con_ops;
|
||||
|
||||
|
@ -880,8 +880,8 @@ static void handle_auth_reply(struct ceph_mon_client *monc,
|
|||
} else if (!was_auth && monc->auth->ops->is_authenticated(monc->auth)) {
|
||||
dout("authenticated, starting session\n");
|
||||
|
||||
monc->client->msgr->inst.name.type = CEPH_ENTITY_TYPE_CLIENT;
|
||||
monc->client->msgr->inst.name.num =
|
||||
monc->client->msgr.inst.name.type = CEPH_ENTITY_TYPE_CLIENT;
|
||||
monc->client->msgr.inst.name.num =
|
||||
cpu_to_le64(monc->auth->global_id);
|
||||
|
||||
__send_subscribe(monc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue