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>
This commit is contained in:
@@ -129,6 +129,8 @@ static int monc_show(struct seq_file *s, void *p)
|
||||
seq_printf(s, "%llu statfs\n", req->tid);
|
||||
else if (op == CEPH_MSG_POOLOP)
|
||||
seq_printf(s, "%llu poolop\n", req->tid);
|
||||
else if (op == CEPH_MSG_MON_GET_VERSION)
|
||||
seq_printf(s, "%llu mon_get_version", req->tid);
|
||||
else
|
||||
seq_printf(s, "%llu unknown\n", req->tid);
|
||||
}
|
||||
|
Reference in New Issue
Block a user