SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy

Signed-off-by: Jeff Layton <jlayton@redhat.com>
This commit is contained in:
Jeff Layton 2016-09-02 08:36:59 -04:00
parent 821e77cf1d
commit 7c59b9e96a
2 changed files with 16 additions and 2 deletions

View File

@ -559,6 +559,20 @@ struct ceph_mds_request_release {
__le32 dname_len; /* string follows. */
} __attribute__ ((packed));
static inline void
copy_from_legacy_head(struct ceph_mds_request_head *head,
struct ceph_mds_request_head_legacy *legacy)
{
memcpy(&(head->oldest_client_tid), legacy, sizeof(*legacy));
}
static inline void
copy_to_legacy_head(struct ceph_mds_request_head_legacy *legacy,
struct ceph_mds_request_head *head)
{
memcpy(legacy, &(head->oldest_client_tid), sizeof(*legacy));
}
/* client reply */
struct ceph_mds_reply_head {
__le32 op;

View File

@ -168,7 +168,7 @@ public:
struct ceph_mds_request_head_legacy old_mds_head;
::decode(old_mds_head, p);
memcpy(&head.oldest_client_tid, &old_mds_head, sizeof(old_mds_head));
copy_from_legacy_head(&head, &old_mds_head);
head.version = 0;
/* Can't set the btime from legacy struct */
@ -198,7 +198,7 @@ public:
} else {
struct ceph_mds_request_head_legacy old_mds_head;
memcpy(&old_mds_head, &(head.oldest_client_tid), sizeof(old_mds_head));
copy_to_legacy_head(&old_mds_head, &head);
::encode(old_mds_head, payload);
}