libceph: mon_get_version request infrastructure
authorIlya Dryomov <ilya.dryomov@inktank.com>
Tue, 13 May 2014 07:19:26 +0000 (11:19 +0400)
committerYan, Zheng <zheng.z.yan@intel.com>
Fri, 6 Jun 2014 01:29:57 +0000 (09:29 +0800)
commit513a8243d67f8e8d27f2883bd2f18bc87c7ca376
treefd782278a338b2e8b695f47950628dc82d246c5d
parent002b36ba5ef7a0e2ad0392130a71029765136cf0
libceph: mon_get_version request infrastructure

Add support for mon_get_version requests to libceph.  This reuses much
of the ceph_mon_generic_request infrastructure, with one exception.
Older OSDs don't set mon_get_version reply hdr->tid even if the
original request had a non-zero tid, which makes it impossible to
lookup ceph_mon_generic_request contexts by tid in get_generic_reply()
for such replies.  As a workaround, we allocate a reply message on the
reply path.  This can probably interfere with revoke, but I don't see
a better way.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
include/linux/ceph/mon_client.h
net/ceph/ceph_common.c
net/ceph/debugfs.c
net/ceph/mon_client.c