From: Sage Weil Date: Wed, 30 Apr 2008 16:56:35 +0000 (-0700) Subject: fix up mds reply types X-Git-Tag: v0.2~66 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=80373f382c22d9797f5082d1313dbc1f4068cb67;p=ceph.git fix up mds reply types --- diff --git a/src/include/ceph_fs.h b/src/include/ceph_fs.h index 18527acf0dd..f55b5dfcf90 100644 --- a/src/include/ceph_fs.h +++ b/src/include/ceph_fs.h @@ -119,11 +119,11 @@ struct ceph_file_layout { #define ceph_file_layout_period(l) (l.fl_object_size * l.fl_stripe_count) /* - * placement group + * placement group. + * we encode this into one __le64. */ #define CEPH_PG_TYPE_REP 1 #define CEPH_PG_TYPE_RAID4 2 - union ceph_pg { __u64 pg64; struct { @@ -477,8 +477,8 @@ struct ceph_mds_reply_head { } __attribute__ ((packed)); struct ceph_frag_tree_head { - __u32 nsplits; - __s32 splits[0]; + __le32 nsplits; + __le32 splits[0]; } __attribute__ ((packed)); struct ceph_mds_reply_inode { @@ -486,10 +486,10 @@ struct ceph_mds_reply_inode { __le64 version; struct ceph_file_layout layout; struct ceph_timespec ctime, mtime, atime; - __u32 mode, uid, gid; - __u32 nlink; - __u64 size, max_size; - __u32 rdev; + __le32 mode, uid, gid; + __le32 nlink; + __le64 size, max_size; + __le32 rdev; struct ceph_frag_tree_head fragtree; } __attribute__ ((packed)); /* followed by frag array, then symlink string */ @@ -501,11 +501,11 @@ struct ceph_mds_reply_lease { } __attribute__ ((packed)); struct ceph_mds_reply_dirfrag { - __u32 frag; - __s32 auth; + __le32 frag; + __le32 auth; __u8 is_rep; - __u32 ndist; - __u32 dist[]; + __le32 ndist; + __le32 dist[]; } __attribute__ ((packed)); /* file access modes */ @@ -674,7 +674,7 @@ struct ceph_osd_request_head { struct ceph_eversion reassert_version; /* semi-hack, fix me */ - __u32 shed_count; + __le32 shed_count; struct ceph_osd_peer_stat peer_stat; } __attribute__ ((packed)); diff --git a/src/messages/MClientReply.h b/src/messages/MClientReply.h index 4e798388ac6..0166bfc044a 100644 --- a/src/messages/MClientReply.h +++ b/src/messages/MClientReply.h @@ -124,15 +124,15 @@ struct InodeStat { ctime.decode_timeval(&e.ctime); mtime.decode_timeval(&e.mtime); atime.decode_timeval(&e.atime); - mode = e.mode; - uid = e.uid; - gid = e.gid; - nlink = e.nlink; - size = e.size; - max_size = e.max_size; - rdev = e.rdev; - - int n = e.fragtree.nsplits; + mode = le32_to_cpu(e.mode); + uid = le32_to_cpu(e.uid); + gid = le32_to_cpu(e.gid); + nlink = le32_to_cpu(e.nlink); + size = le64_to_cpu(e.size); + max_size = le64_to_cpu(e.max_size); + rdev = le32_to_cpu(e.rdev); + + int n = le32_to_cpu(e.fragtree.nsplits); while (n) { __u32 s, by; ::_decode_simple(s, p); @@ -155,14 +155,14 @@ struct InodeStat { in->inode.ctime.encode_timeval(&e.ctime); in->inode.mtime.encode_timeval(&e.mtime); in->inode.atime.encode_timeval(&e.atime); - e.mode = in->inode.mode; - e.uid = in->inode.uid; - e.gid = in->inode.gid; - e.nlink = in->inode.nlink; - e.size = in->inode.size; - e.max_size = in->inode.max_size; - e.rdev = in->inode.rdev; - e.fragtree.nsplits = in->dirfragtree._splits.size(); + e.mode = cpu_to_le32(in->inode.mode); + e.uid = cpu_to_le32(in->inode.uid); + e.gid = cpu_to_le32(in->inode.gid); + e.nlink = cpu_to_le32(in->inode.nlink); + e.size = cpu_to_le64(in->inode.size); + e.max_size = cpu_to_le64(in->inode.max_size); + e.rdev = cpu_to_le32(in->inode.rdev); + e.fragtree.nsplits = cpu_to_le32(in->dirfragtree._splits.size()); ::_encode_simple(e, bl); for (map::iterator p = in->dirfragtree._splits.begin(); p != in->dirfragtree._splits.end(); diff --git a/src/messages/MOSDOp.h b/src/messages/MOSDOp.h index 98d1ecef6b0..0c2cf5d2d17 100644 --- a/src/messages/MOSDOp.h +++ b/src/messages/MOSDOp.h @@ -96,8 +96,8 @@ public: void set_peer_stat(const osd_peer_stat_t& stat) { head.peer_stat = stat; } const ceph_osd_peer_stat& get_peer_stat() { return head.peer_stat; } - void inc_shed_count() { head.shed_count++; } - int get_shed_count() { return head.shed_count; } + void inc_shed_count() { head.shed_count = cpu_to_le32(get_shed_count() + 1); } + int get_shed_count() { return le32_to_cpu(head.shed_count); }