__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;
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 */
} 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);
}