]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
fix up mds reply types
authorSage Weil <sage@newdream.net>
Wed, 30 Apr 2008 16:56:35 +0000 (09:56 -0700)
committerSage Weil <sage@newdream.net>
Wed, 30 Apr 2008 16:56:35 +0000 (09:56 -0700)
src/include/ceph_fs.h
src/messages/MClientReply.h
src/messages/MOSDOp.h

index 18527acf0dd4ecc68f0ef0bf34e8c9ad7fb45dd8..f55b5dfcf90939738811b34bb737690749ae5146 100644 (file)
@@ -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));
 
index 4e798388ac6f93ab0c17fea2357edcd880f674ee..0166bfc044aa20950c3fd4122472f77c2911c178 100644 (file)
@@ -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<frag_t,int32_t>::iterator p = in->dirfragtree._splits.begin();
         p != in->dirfragtree._splits.end();
index 98d1ecef6b0f042e14c8d774d3b987b2bffd9edd..0c2cf5d2d175151374b4f8ec5ef2e988689528ae 100644 (file)
@@ -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); }