libceph: use con get/put ops from osd_client
authorSage Weil <[email protected]>
Fri, 1 Jun 2012 03:22:18 +0000 (20:22 -0700)
committerAlex Elder <[email protected]>
Wed, 6 Jun 2012 14:23:54 +0000 (09:23 -0500)
commit0d47766f14211a73eaf54cab234db134ece79f49
treed4e09ddd5e3bc4e3f5738bfd873636eb76742de0
parentab8cb34a4b2f60281a4b18b1f1ad23bc2313d91b
libceph: use con get/put ops from osd_client

There were a few direct calls to ceph_con_{get,put}() instead of the con
ops from osd_client.c.  This is a bug since those ops aren't defined to
be ceph_con_get/put.

This breaks refcounting on the ceph_osd structs that contain the
ceph_connections, and could lead to all manner of strangeness.

The purpose of the ->get and ->put methods in a ceph connection are
to allow the connection to indicate it has a reference to something
external to the messaging system, *not* to indicate something
external has a reference to the connection.

[[email protected]: added that last sentence]

Signed-off-by: Sage Weil <[email protected]>
Reviewed-by: Alex Elder <[email protected]>
net/ceph/osd_client.c