libceph: MOSDOp v8 encoding (actual spgid + full hash)
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
@@ -205,6 +205,23 @@ struct ceph_request_redirect {
|
||||
struct ceph_object_locator oloc;
|
||||
};
|
||||
|
||||
/*
|
||||
* osd request identifier
|
||||
*
|
||||
* caller name + incarnation# + tid to unique identify this request
|
||||
*/
|
||||
struct ceph_osd_reqid {
|
||||
struct ceph_entity_name name;
|
||||
__le64 tid;
|
||||
__le32 inc;
|
||||
} __packed;
|
||||
|
||||
struct ceph_blkin_trace_info {
|
||||
__le64 trace_id;
|
||||
__le64 span_id;
|
||||
__le64 parent_span_id;
|
||||
} __packed;
|
||||
|
||||
typedef void (*rados_watchcb2_t)(void *arg, u64 notify_id, u64 cookie,
|
||||
u64 notifier_id, void *data, size_t data_len);
|
||||
typedef void (*rados_watcherrcb_t)(void *arg, u64 cookie, int err);
|
||||
|
||||
@@ -205,11 +205,13 @@ static inline struct ceph_entity_addr *ceph_osd_addr(struct ceph_osdmap *map,
|
||||
return &map->osd_addr[osd];
|
||||
}
|
||||
|
||||
#define CEPH_PGID_ENCODING_LEN (1 + 8 + 4 + 4)
|
||||
|
||||
static inline int ceph_decode_pgid(void **p, void *end, struct ceph_pg *pgid)
|
||||
{
|
||||
__u8 version;
|
||||
|
||||
if (!ceph_has_room(p, end, 1 + 8 + 4 + 4)) {
|
||||
if (!ceph_has_room(p, end, CEPH_PGID_ENCODING_LEN)) {
|
||||
pr_warn("incomplete pg encoding\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user