]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: put tid in ceph_msg_header (protocol change)
authorSage Weil <sage@newdream.net>
Tue, 22 Dec 2009 19:41:47 +0000 (11:41 -0800)
committerSage Weil <sage@newdream.net>
Tue, 22 Dec 2009 19:41:47 +0000 (11:41 -0800)
27 files changed:
src/client/Client.cc
src/client/Client.h
src/include/ceph_fs.h
src/include/msgr.h
src/include/rados.h
src/mds/MDSTableClient.cc
src/mds/MDSTableServer.cc
src/messages/MClientCaps.h
src/messages/MClientReply.h
src/messages/MClientRequest.h
src/messages/MClientRequestForward.h
src/messages/MGetPoolStats.h
src/messages/MGetPoolStatsReply.h
src/messages/MMDSTableRequest.h
src/messages/MOSDOp.h
src/messages/MOSDOpReply.h
src/messages/MOSDSubOp.h
src/messages/MOSDSubOpReply.h
src/messages/MPoolOp.h
src/messages/MPoolOpReply.h
src/messages/MStatfs.h
src/messages/MStatfsReply.h
src/mon/OSDMonitor.cc
src/mon/PGMonitor.cc
src/msg/Message.h
src/osd/ReplicatedPG.cc
src/osdc/Objecter.cc

index b87282a1eab52e865912b7b6ccd0116f3b77d972..d063fa97ebf1c5999a5e3c88546bf00a0353b482 100644 (file)
@@ -945,6 +945,7 @@ int Client::make_request(MetaRequest *request,
 inline MClientRequest* Client::make_request_from_Meta(MetaRequest *request)
 {
   MClientRequest *req = new MClientRequest(request->get_op());
+  req->set_tid(request->tid);
   memcpy(&req->head, &request->head, sizeof(ceph_mds_request_head));
   //if the filepath's haven't been set, set them!
   if (request->path.empty()) {
@@ -1697,7 +1698,7 @@ void Client::send_cap(Inode *in, int mds, InodeCap *cap, int used, int want, int
                                   flush,
                                   cap->mseq);
   m->head.issue_seq = cap->issue_seq;
-  m->head.client_tid = tid;
+  m->set_tid(tid);
 
   m->head.uid = in->uid;
   m->head.gid = in->gid;
index b2ba57fa730fe02aab2b399a41a0284995304f3c..2f08345b4428555d094412961bd572f88afc90c1 100644 (file)
@@ -94,6 +94,7 @@ class Inode;
 class Dentry;
 
 struct MetaRequest {
+  __u64 tid;
   ceph_mds_request_head head;
   filepath path, path2;
   bufferlist data;
@@ -146,14 +147,14 @@ struct MetaRequest {
     target(0) {
     memset(&head, 0, sizeof(ceph_mds_request_head));
     head.op = op;
-}
+  }
 
   MetaRequest* get() {++ref; return this; }
 
   void put() {if(--ref == 0) delete this; }
 
   // normal fields
-  void set_tid(tid_t t) { head.tid = t; }
+  void set_tid(tid_t t) { tid = t; }
   void set_oldest_client_tid(tid_t t) { head.oldest_client_tid = t; }
   void inc_num_fwd() { head.num_fwd = head.num_fwd + 1; }
   void set_retry_attempt(int a) { head.num_retry = a; }
@@ -167,7 +168,7 @@ struct MetaRequest {
     head.flags = head.flags | CEPH_MDS_FLAG_WANT_DENTRY;
   }
   int get_op() { return head.op; }
-  tid_t get_tid() { return head.tid; }
+  tid_t get_tid() { return tid; }
   filepath& get_filepath() { return path; }
   filepath& get_filepath2() { return path2; }
 
index 830c5a2332cac62be4608cca81132e2ee9674840..e87dfa6ec8e5286af1b532ae344557254a00e9d9 100644 (file)
@@ -136,7 +136,6 @@ struct ceph_mon_request_header {
 struct ceph_mon_statfs {
        struct ceph_mon_request_header monhdr;
        struct ceph_fsid fsid;
-       __le64 tid;
 } __attribute__ ((packed));
 
 struct ceph_statfs {
@@ -146,7 +145,6 @@ struct ceph_statfs {
 
 struct ceph_mon_statfs_reply {
        struct ceph_fsid fsid;
-       __le64 tid;
        __le64 version;
        struct ceph_statfs st;
 } __attribute__ ((packed));
@@ -333,7 +331,7 @@ union ceph_mds_request_args {
 #define CEPH_MDS_FLAG_WANT_DENTRY   2  /* want dentry in reply */
 
 struct ceph_mds_request_head {
-       __le64 tid, oldest_client_tid;
+       __le64 oldest_client_tid;
        __le32 mdsmap_epoch;           /* on client */
        __le32 flags;                  /* CEPH_MDS_FLAG_* */
        __u8 num_retry, num_fwd;       /* count retry, fwd attempts */
@@ -356,7 +354,6 @@ struct ceph_mds_request_release {
 
 /* client reply */
 struct ceph_mds_reply_head {
-       __le64 tid;
        __le32 op;
        __le32 result;
        __le32 mdsmap_epoch;
@@ -542,7 +539,6 @@ struct ceph_mds_caps {
        __le32 migrate_seq;
        __le64 snap_follows;
        __le32 snap_trace_len;
-       __le64 client_tid;          /* for FLUSH(SNAP) -> FLUSH(SNAP)_ACK */
 
        /* authlock */
        __le32 uid, gid, mode;
index c758e8f8f71bf69e26a51e1d21a3fcf41126218b..e46d8b806dea7b5712562f2ae0b26c9bb2fddcac 100644 (file)
@@ -21,7 +21,7 @@
  * whenever the wire protocol changes.  try to keep this string length
  * constant.
  */
-#define CEPH_BANNER "ceph v024"
+#define CEPH_BANNER "ceph v025"
 #define CEPH_BANNER_MAX_LEN 30
 
 
@@ -132,6 +132,7 @@ struct ceph_msg_connect_reply {
  */
 struct ceph_msg_header {
        __le64 seq;       /* message seq# for this session */
+       __le64 tid;       /* transaction id */
        __le16 type;      /* message type */
        __le16 priority;  /* priority.  higher value == higher priority */
        __le16 version;   /* version of message encoding */
index 12bfb2f7c27577c746994f84d73f16877c07c9db..c5614d4ae34a6864d780e999d1e8214eef06287d 100644 (file)
@@ -331,7 +331,6 @@ struct ceph_osd_op {
  * ceph_osd_op object operations.
  */
 struct ceph_osd_request_head {
-       __le64 tid;                        /* transaction id */
        __le32 client_inc;                 /* client incarnation */
        struct ceph_object_layout layout;  /* pgid */
        __le32 osdmap_epoch;               /* client's osdmap epoch */
@@ -352,7 +351,6 @@ struct ceph_osd_request_head {
 } __attribute__ ((packed));
 
 struct ceph_osd_reply_head {
-       __le64 tid;                       /* transaction id */
        __le32 client_inc;                /* client incarnation */
        __le32 flags;
        struct ceph_object_layout layout;
index 2ac51d685785e586128934ad64601e0bdb7df595..513b7901463592c721b8f21abbb41bcef054fbf8 100644 (file)
@@ -42,7 +42,7 @@ void MDSTableClient::handle_request(class MMDSTableRequest *m)
   dout(10) << "handle_request " << *m << dendl;
   assert(m->table == table);
 
-  version_t tid = m->tid;
+  version_t tid = m->get_tid();
   __u64 reqid = m->reqid;
 
   switch (m->op) {
index fbd9ac7fc6320f3aa481061e1738eaf67f11f7b3..54a6f7be5ba2465a57f5e0acc713df053e35c1a7 100644 (file)
@@ -76,7 +76,7 @@ void MDSTableServer::handle_commit(MMDSTableRequest *req)
 {
   dout(7) << "handle_commit " << *req << dendl;
 
-  version_t tid = req->tid;
+  version_t tid = req->get_tid();
 
   if (pending_for_mds.count(tid)) {
 
@@ -107,7 +107,7 @@ void MDSTableServer::_commit_logged(MMDSTableRequest *req)
 
   assert(g_conf.mds_kill_mdstable_at != 6);
 
-  MMDSTableRequest *reply = new MMDSTableRequest(table, TABLESERVER_OP_ACK, req->reqid, req->tid);
+  MMDSTableRequest *reply = new MMDSTableRequest(table, TABLESERVER_OP_ACK, req->reqid, req->get_tid());
   mds->send_message_mds(reply, req->get_source().num());
   delete req;
 }
@@ -117,10 +117,10 @@ void MDSTableServer::_commit_logged(MMDSTableRequest *req)
 void MDSTableServer::handle_rollback(MMDSTableRequest *req)
 {
   dout(7) << "handle_rollback " << *req << dendl;
-  _rollback(req->tid);
-  _note_rollback(req->tid);
+  _rollback(req->get_tid());
+  _note_rollback(req->get_tid());
   mds->mdlog->start_submit_entry(new ETableServer(table, TABLESERVER_OP_ROLLBACK, 0, -1, 
-                                                 req->tid, version));
+                                                 req->get_tid(), version));
   delete req;
 }
 
index 70eb05a8f86d6e5722551b16b3d6637042487092..f48df57deab093b23c6ad88382d958e0b9bed65e 100644 (file)
@@ -49,8 +49,8 @@ class MClientCaps : public Message {
   int       get_migrate_seq() { return head.migrate_seq; }
   int       get_op() { return head.op; }
 
-  __u64 get_client_tid() { return head.client_tid; }
-  void set_client_tid(__u64 s) { head.client_tid = s; }
+  __u64 get_client_tid() { return get_tid(); }
+  void set_client_tid(__u64 s) { set_tid(s); }
 
   snapid_t get_snap_follows() { return snapid_t(head.snap_follows); }
   void set_snap_follows(snapid_t s) { head.snap_follows = s; }
index 41eacc127cd1ea21af3c314c26ef2c0e7e20b6a5..0163cc423614255a83ed0fbe23f315340e0d9350 100644 (file)
@@ -177,7 +177,6 @@ public:
   bufferlist snapbl;
 
  public:
-  long get_tid() { return head.tid; }
   int get_op() { return head.op; }
 
   void set_mdsmap_epoch(epoch_t e) { head.mdsmap_epoch = e; }
@@ -195,14 +194,14 @@ public:
   MClientReply(MClientRequest *req, int result = 0) : 
     Message(CEPH_MSG_CLIENT_REPLY) {
     memset(&head, 0, sizeof(head));
-    head.tid = req->get_tid();
+    header.tid = req->get_tid();
     head.op = req->get_op();
     head.result = result;
     head.safe = 1;
   }
   const char *get_type_name() { return "creply"; }
   void print(ostream& o) {
-    o << "client_reply(???:" << head.tid;
+    o << "client_reply(???:" << get_tid();
     o << " = " << get_result();
     if (get_result() <= 0) {
       char buf[80];
index 33726e53711335a96ea7ec3d1d71f7beb4e9e84a..7bb07910ae7386edcac20b7807fc9f0390aba746 100644 (file)
@@ -88,7 +88,7 @@ public:
 
   metareqid_t get_reqid() {
     // FIXME: for now, assume clients always have 1 incarnation
-    return metareqid_t(get_orig_source(), head.tid); 
+    return metareqid_t(get_orig_source(), header.tid); 
   }
 
   /*bool open_file_mode_is_readonly() {
@@ -125,7 +125,6 @@ public:
   }
 
   // normal fields
-  void set_tid(tid_t t) { head.tid = t; }
   void set_oldest_client_tid(tid_t t) { head.oldest_client_tid = t; }
   void inc_num_fwd() { head.num_fwd = head.num_fwd + 1; }
   void set_retry_attempt(int a) { head.num_retry = a; }
@@ -141,7 +140,6 @@ public:
     head.flags = head.flags | CEPH_MDS_FLAG_REPLAY;
   }
     
-  tid_t get_tid() { return head.tid; }
   tid_t get_oldest_client_tid() { return head.oldest_client_tid; }
   int get_num_fwd() { return head.num_fwd; }
   int get_retry_attempt() { return head.num_retry; }
index 761a2739dcc4c6388195134a9d527e6a87310d8e..a66c3957773a9b967ff6a32681db33de5d0be17f 100644 (file)
@@ -17,7 +17,6 @@
 #define __MCLIENTREQUESTFORWARD_H
 
 class MClientRequestForward : public Message {
-  tid_t tid;
   int32_t dest_mds;
   int32_t num_fwd;
   bool client_must_resend;
@@ -26,16 +25,17 @@ class MClientRequestForward : public Message {
   MClientRequestForward() : Message(CEPH_MSG_CLIENT_REQUEST_FORWARD) {}
   MClientRequestForward(tid_t t, int dm, int nf, bool cmr) : 
     Message(CEPH_MSG_CLIENT_REQUEST_FORWARD),
-    tid(t), dest_mds(dm), num_fwd(nf), client_must_resend(cmr) { }
+    dest_mds(dm), num_fwd(nf), client_must_resend(cmr) {
+    header.tid = t;
+  }
 
-  tid_t get_tid() { return tid; }
   int get_dest_mds() { return dest_mds; }
   int get_num_fwd() { return num_fwd; }
   bool must_resend() { return client_must_resend; }
 
   const char *get_type_name() { return "cfwd"; }
   void print(ostream& o) {
-    o << "client_request_forward(" << tid
+    o << "client_request_forward(" << get_tid()
       << " to " << dest_mds
       << " num_fwd=" << num_fwd
       << (client_must_resend ? " client_must_resend":"")
@@ -43,7 +43,6 @@ class MClientRequestForward : public Message {
   }
 
   void encode_payload() {
-    ::encode(tid, payload);
     ::encode(dest_mds, payload);
     ::encode(num_fwd, payload);
     ::encode(client_must_resend, payload);
@@ -51,7 +50,6 @@ class MClientRequestForward : public Message {
 
   void decode_payload() {
     bufferlist::iterator p = payload.begin();
-    ::decode(tid, p);
     ::decode(dest_mds, p);
     ::decode(num_fwd, p);
     ::decode(client_must_resend, p);
index 78aaaf1de4315d74e205d406bf423f3b47b04ea4..f0a6e8060155e7e31981ae0720d34735567f3153 100644 (file)
 class MGetPoolStats : public PaxosServiceMessage {
 public:
   ceph_fsid_t fsid;
-  tid_t tid;
   vector<string> pools;
 
   MGetPoolStats() : PaxosServiceMessage(MSG_GETPOOLSTATS, 0) {}
   MGetPoolStats(const ceph_fsid_t& f, tid_t t, vector<string>& ls, version_t l) :
     PaxosServiceMessage(MSG_GETPOOLSTATS, l),
-    fsid(f), tid(t), pools(ls) { }
+    fsid(f), pools(ls) {
+    set_tid(t);
+  }
 
   const char *get_type_name() { return "getpoolstats"; }
   void print(ostream& out) {
-    out << "getpoolstats(" << tid << " " << pools << " v" << version << ")";
+    out << "getpoolstats(" << get_tid() << " " << pools << " v" << version << ")";
   }
 
   void encode_payload() {
     paxos_encode();
     ::encode(fsid, payload);
-    ::encode(tid, payload);
     ::encode(pools, payload);
   }
   void decode_payload() {
     bufferlist::iterator p = payload.begin();
     paxos_decode(p);
     ::decode(fsid, p);
-    ::decode(tid, p);
     ::decode(pools, p);
   }
 };
index eb85cbfa70309860f9769db40eab4dc2f52ac756..cbfacacb44fcb66d97d5a5ebaf4b6b25a6fcf435 100644 (file)
 class MGetPoolStatsReply : public PaxosServiceMessage {
 public:
   ceph_fsid_t fsid;
-  tid_t tid;
   map<string,pool_stat_t> pool_stats;
 
   MGetPoolStatsReply() : PaxosServiceMessage(MSG_GETPOOLSTATSREPLY, 0) {}
   MGetPoolStatsReply(ceph_fsid_t& f, tid_t t, version_t v) :
     PaxosServiceMessage(MSG_GETPOOLSTATSREPLY, v),
-    fsid(f), tid(t) { }
+    fsid(f) {
+    set_tid(t);
+  }
 
   const char *get_type_name() { return "getpoolstats"; }
   void print(ostream& out) {
-    out << "getpoolstatsreply(" << tid << " v" << version <<  ")";
+    out << "getpoolstatsreply(" << get_tid() << " v" << version <<  ")";
   }
 
   void encode_payload() {
     paxos_encode();
     ::encode(fsid, payload);
-    ::encode(tid, payload);
     ::encode(pool_stats, payload);
   }
   void decode_payload() {
     bufferlist::iterator p = payload.begin();
     paxos_decode(p);
     ::decode(fsid, p);
-    ::decode(tid, p);
     ::decode(pool_stats, p);
   }
 };
index 133fcaca4b48ccb8db26696620a5f013dbaf11e2..0d7d8ff8e93c60e882d8f9a751604ec11804ae88 100644 (file)
@@ -24,20 +24,21 @@ class MMDSTableRequest : public Message {
   __u16 table;
   __s16 op;
   __u64 reqid;
-  version_t tid;
   bufferlist bl;
 
   MMDSTableRequest() {}
   MMDSTableRequest(int tab, int o, __u64 r, version_t v=0) : 
     Message(MSG_MDS_TABLE_REQUEST),
-    table(tab), op(o), reqid(r), tid(v) { }
+    table(tab), op(o), reqid(r) {
+    set_tid(v);
+  }
   
   virtual const char *get_type_name() { return "mds_table_request"; }
   void print(ostream& o) {
     o << "mds_table_request(" << get_mdstable_name(table)
       << " " << get_mdstableserver_opname(op);
     if (reqid) o << " " << reqid;
-    if (tid) o << " tid " << tid;
+    if (get_tid()) o << " tid " << get_tid();
     if (bl.length()) o << " " << bl.length() << " bytes";
     o << ")";
   }
@@ -47,7 +48,6 @@ class MMDSTableRequest : public Message {
     ::decode(table, p);
     ::decode(op, p);
     ::decode(reqid, p);
-    ::decode(tid, p);
     ::decode(bl, p);
   }
 
@@ -55,7 +55,6 @@ class MMDSTableRequest : public Message {
     ::encode(table, payload);
     ::encode(op, payload);
     ::encode(reqid, payload);
-    ::encode(tid, payload);
     ::encode(bl, payload);
   }
 };
index 2b4883bc2a62c10d1aedb7b6b1a9a7fe1ee6ebbb..6cb2de286e60436670e25b051560eb3acc6c2d1d 100644 (file)
@@ -51,9 +51,9 @@ public:
 
   osd_reqid_t get_reqid() { return osd_reqid_t(get_orig_source(),
                                               head.client_inc,
-                                              head.tid); }
+                                              header.tid); }
   int get_client_inc() { return head.client_inc; }
-  tid_t get_client_tid() { return head.tid; }
+  tid_t get_client_tid() { return header.tid; }
   
   object_t& get_oid() { return oid; }
   pg_t     get_pg() { return pg_t(head.layout.ol_pgid); }
@@ -90,7 +90,7 @@ public:
     oid(_oid),
     rmw_flags(flags) {
     memset(&head, 0, sizeof(head));
-    head.tid = tid;
+    set_tid(tid);
     head.client_inc = inc;
     head.layout = ol;
     head.osdmap_epoch = mapepoch;
index 9e7488486ae35bd6fd00c42cc9bf3a74dc538c74..20489e9fbb0c61f263686bc80747d1ee702f08c7 100644 (file)
@@ -35,7 +35,6 @@ class MOSDOpReply : public Message {
   object_t oid;
   vector<OSDOp> ops;
 
-  long     get_tid() { return head.tid; }
   object_t get_oid() { return oid; }
   pg_t     get_pg() { return pg_t(head.layout.ol_pgid); }
   int      get_flags() { return head.flags; }
@@ -64,7 +63,7 @@ public:
   MOSDOpReply(MOSDOp *req, __s32 result, epoch_t e, int acktype) :
     Message(CEPH_MSG_OSD_OPREPLY) {
     memset(&head, 0, sizeof(head));
-    head.tid = req->head.tid;
+    set_tid(req->get_tid());
     head.client_inc = req->head.client_inc;
     ops = req->ops;
     head.result = result;
@@ -101,7 +100,7 @@ public:
   const char *get_type_name() { return "osd_op_reply"; }
   
   void print(ostream& out) {
-    out << "osd_op_reply(" << head.tid
+    out << "osd_op_reply(" << get_tid()
        << " " << oid << " " << ops;
     if (may_write()) {
       if (is_ondisk())
index 3ffae10a10263a6fda42cbfde9abbe925ee039e6..f0936f59e846241e7f56e73de429ac25e9145d79 100644 (file)
@@ -53,7 +53,6 @@ public:
   pg_stat_t pg_stats;
   
   // subop metadata
-  tid_t rep_tid;
   eversion_t version;
 
   // piggybacked osd/og state
@@ -84,7 +83,6 @@ public:
     ::decode(mtime, p);
     ::decode(noop, p);
     ::decode(acks_wanted, p);
-    ::decode(rep_tid, p);
     ::decode(version, p);
     ::decode(old_exists, p);
     ::decode(old_size, p);
@@ -116,7 +114,6 @@ public:
     ::encode(mtime, payload);
     ::encode(noop, payload);
     ::encode(acks_wanted, payload);
-    ::encode(rep_tid, payload);
     ::encode(version, payload);
     ::encode(old_exists, payload);
     ::encode(old_size, payload);
@@ -147,10 +144,10 @@ public:
     acks_wanted(aw),
     noop(noop_),   
     old_exists(false), old_size(0),
-    rep_tid(rtid),
     version(v)
   {
     memset(&peer_stat, 0, sizeof(peer_stat));
+    set_tid(rtid);
   }
   MOSDSubOp() {}
 
index c8018504b81fae26ecf6f9569e0ebcf36d660044..0cf96ccbe991a152bf3abd93ea3b5221c8f5fd53 100644 (file)
@@ -36,7 +36,6 @@ public:
   // subop metadata
   osd_reqid_t reqid;
   pg_t pgid;
-  tid_t rep_tid;
   sobject_t poid;
 
   vector<OSDOp> ops;
@@ -56,7 +55,6 @@ public:
     ::decode(map_epoch, p);
     ::decode(reqid, p);
     ::decode(pgid, p);
-    ::decode(rep_tid, p);
     ::decode(poid, p);
 
     unsigned num_ops;
@@ -75,7 +73,6 @@ public:
     ::encode(map_epoch, payload);
     ::encode(reqid, payload);
     ::encode(pgid, payload);
-    ::encode(rep_tid, payload);
     ::encode(poid, payload);
     __u32 num_ops = ops.size();
     ::encode(num_ops, payload);
@@ -92,7 +89,6 @@ public:
   epoch_t get_map_epoch() { return map_epoch; }
 
   pg_t get_pg() { return pgid; }
-  tid_t get_rep_tid() { return rep_tid; }
   sobject_t get_poid() { return poid; }
 
   int get_ack_type() { return ack_type; }
@@ -116,12 +112,12 @@ public:
     map_epoch(e),
     reqid(req->reqid),
     pgid(req->pgid),
-    rep_tid(req->rep_tid),
     poid(req->poid),
     ops(req->ops),
     ack_type(at),
     result(result_) {
     memset(&peer_stat, 0, sizeof(peer_stat));
+    set_tid(req->get_tid());
   }
   MOSDSubOpReply() {}
 
index 1be39ba5cdc3aea55da34241d0da69c6fcbd31df..bd5f8e2adda54a560c83283bf4d414ec5db65a8e 100644 (file)
@@ -40,24 +40,24 @@ static const char *get_pool_op_name(int op) {
 class MPoolOp : public PaxosServiceMessage {
 public:
   ceph_fsid_t fsid;
-  tid_t tid;
   int pool;
   string name;
   int op;
 
   MPoolOp() : PaxosServiceMessage(MSG_POOLOP, 0) {}
   MPoolOp(const ceph_fsid_t& f, tid_t t, int p, string& n, int o, version_t v) :
-    PaxosServiceMessage(MSG_POOLOP, v), fsid(f), tid(t), pool(p), name(n), op(o) {}
+    PaxosServiceMessage(MSG_POOLOP, v), fsid(f), pool(p), name(n), op(o) {
+    set_tid(t);
+  }
 
   const char *get_type_name() { return "poolop"; }
   void print(ostream& out) {
-    out << "poolop(" << get_pool_op_name(op) << " " << tid << " " << name << " v" << version << ")";
+    out << "poolop(" << get_pool_op_name(op) << " " << get_tid() << " " << name << " v" << version << ")";
   }
 
   void encode_payload() {
     paxos_encode();
     ::encode(fsid, payload);
-    ::encode(tid, payload);
     ::encode(pool, payload);
     ::encode(name, payload);
     ::encode(op, payload);
@@ -66,7 +66,6 @@ public:
     bufferlist::iterator p = payload.begin();
     paxos_decode(p);
     ::decode(fsid, p);
-    ::decode(tid, p);
     ::decode(pool, p);
     ::decode(name, p);
     ::decode(op, p);
index 1f2715e4bba791efd3fd6b0451d5385f96a184f3..7181dadc8ec6921b06b8f0e6150e6d77f13938c9 100644 (file)
 class MPoolOpReply : public PaxosServiceMessage {
 public:
   ceph_fsid_t fsid;
-  tid_t tid;
   int replyCode;
   epoch_t epoch;
 
 
   MPoolOpReply() : PaxosServiceMessage(MSG_POOLOPREPLY, 0) {}
   MPoolOpReply( ceph_fsid_t& f, tid_t t, int rc, int e, version_t v) :
-    PaxosServiceMessage(MSG_POOLOPREPLY, v), fsid(f), tid(t), replyCode(rc), epoch(e) {}
+    PaxosServiceMessage(MSG_POOLOPREPLY, v), fsid(f), replyCode(rc), epoch(e) {
+    set_tid(t);
+  }
 
   const char *get_type_name() { return "poolopreply"; }
 
   void print(ostream& out) {
-    out << "poolopreply(" << tid << " v" << version << ")";
+    out << "poolopreply(" << get_tid() << " v" << version << ")";
   }
 
   void encode_payload() {
     paxos_encode();
     ::encode(fsid, payload);
-    ::encode(tid, payload);
     ::encode(replyCode, payload);
     ::encode(epoch, payload);
   }
@@ -45,7 +45,6 @@ public:
     bufferlist::iterator p = payload.begin();
     paxos_decode(p);
     ::decode(fsid, p);
-    ::decode(tid, p);
     ::decode(replyCode, p);
     ::decode(epoch, p);
   }
index 760d3ac6cafcceaf7929fff9ca95b09dde7d0ca6..07fa3a9546916f1496f08b0f8ac08de809e1c305 100644 (file)
 class MStatfs : public PaxosServiceMessage {
 public:
   ceph_fsid_t fsid;
-  tid_t tid;
 
   MStatfs() : PaxosServiceMessage(CEPH_MSG_STATFS, 0) {}
   MStatfs(const ceph_fsid_t& f, tid_t t, version_t v) :
-    PaxosServiceMessage(CEPH_MSG_STATFS, v), fsid(f), tid(t) {}
+    PaxosServiceMessage(CEPH_MSG_STATFS, v), fsid(f) {
+    set_tid(t);
+  }
 
   const char *get_type_name() { return "statfs"; }
   void print(ostream& out) {
-    out << "statfs(" << tid << " v" << version << ")";
+    out << "statfs(" << get_tid() << " v" << version << ")";
   }
 
   void encode_payload() {
     paxos_encode();
     ::encode(fsid, payload);
-    ::encode(tid, payload);
   }
   void decode_payload() {
     bufferlist::iterator p = payload.begin();
     paxos_decode(p);
     ::decode(fsid, p);
-    ::decode(tid, p);
   }
 };
 
index b0e3307a0b3fcd2e2b6e08c28862baf12b6bd637..977958646baeb51187c5bc55e0f8a1994fbdb39c 100644 (file)
@@ -23,13 +23,13 @@ public:
   MStatfsReply() : Message(CEPH_MSG_STATFS_REPLY) {}
   MStatfsReply(ceph_fsid_t &f, tid_t t, epoch_t epoch) : Message(CEPH_MSG_STATFS_REPLY) {
     h.fsid = f;
-    h.tid = t;
+    header.tid = t;
     h.version = epoch;
   }
 
   const char *get_type_name() { return "statfs_reply"; }
   void print(ostream& out) {
-    out << "statfs_reply(" << h.tid << ")";
+    out << "statfs_reply(" << header.tid << ")";
   }
 
   void encode_payload() {
index 92cb41df23fb2638fe745e871f46012d72b29de3..a7f1c169f9b0c35d0de8a5653a274434bc29e9b5 100644 (file)
@@ -1358,7 +1358,7 @@ bool OSDMonitor::prepare_pool_op_create (MPoolOp *m)
 
 void OSDMonitor::_pool_op(MPoolOp *m, int replyCode, epoch_t epoch)
 {
-  MPoolOpReply *reply = new MPoolOpReply(m->fsid, m->tid,
+  MPoolOpReply *reply = new MPoolOpReply(m->fsid, m->get_tid(),
                                         replyCode, epoch, mon->get_epoch());
   mon->send_reply(m, reply);
   delete m;
index 3a026039139b40c018df2cabd5df771f5d3936b0..ebee606a60b6db69ab98723aca18d0e295e86c3c 100644 (file)
@@ -217,7 +217,7 @@ void PGMonitor::handle_statfs(MStatfs *statfs)
   }
 
   // fill out stfs
-  reply = new MStatfsReply(mon->monmap->fsid, statfs->tid, mon->get_epoch());
+  reply = new MStatfsReply(mon->monmap->fsid, statfs->get_tid(), mon->get_epoch());
 
   // these are in KB.
   reply->h.st.kb = pg_map.osd_sum.kb;
@@ -241,7 +241,7 @@ bool PGMonitor::preprocess_getpoolstats(MGetPoolStats *m)
     goto out;
   }
   
-  reply = new MGetPoolStatsReply(m->fsid, m->tid, paxos->get_version());
+  reply = new MGetPoolStatsReply(m->fsid, m->get_tid(), paxos->get_version());
 
   for (vector<string>::iterator p = m->pools.begin();
        p != m->pools.end();
index bb4ea20f9ad9d8f614213e9a91affd190d5d06b3..77946a2cb0c9a3ed665d0c23b662cd909312e261 100644 (file)
@@ -298,6 +298,9 @@ public:
   int get_type() { return header.type; }
   void set_type(int t) { header.type = t; }
 
+  __u64 get_tid() { return header.tid; }
+  void set_tid(__u64 t) { header.tid = t; }
+
   unsigned get_seq() { return header.seq; }
   void set_seq(unsigned s) { header.seq = s; }
 
index 0c1db3dc6a4f8f9f4cfa7c8c68c8af1fd96e3598..a88833343c3197f9430f5048cf8a138af0391c08 100644 (file)
@@ -2568,7 +2568,7 @@ void ReplicatedPG::sub_op_modify_ondisk(MOSDSubOp *op, int ackerosd, eversion_t
 void ReplicatedPG::sub_op_modify_reply(MOSDSubOpReply *r)
 {
   // must be replication.
-  tid_t rep_tid = r->get_rep_tid();
+  tid_t rep_tid = r->get_tid();
   int fromosd = r->get_source().num();
   
   osd->take_peer_stat(fromosd, r->get_peer_stat());
index 91981cd5993c58d7502e825624be40cdf068c43a..d9cb5539b3a0c2764bfed5656a5b0ba55fd08542 100644 (file)
@@ -705,7 +705,7 @@ void Objecter::pool_op_submit(PoolOp *op) {
 
 void Objecter::handle_pool_op_reply(MPoolOpReply *m) {
   dout(10) << "handle_pool_op_reply " << *m << dendl;
-  tid_t tid = m->tid;
+  tid_t tid = m->get_tid();
   if (op_pool.count(tid)) {
     PoolOp *op = op_pool[tid];
     dout(10) << "have request " << tid << " at " << op << " Op: " << get_pool_op_name(op->pool_op) << dendl;
@@ -757,7 +757,7 @@ void Objecter::poolstat_submit(PoolStatOp *op)
 void Objecter::handle_get_pool_stats_reply(MGetPoolStatsReply *m)
 {
   dout(10) << "handle_get_pool_stats_reply " << *m << dendl;
-  tid_t tid = m->tid;
+  tid_t tid = m->get_tid();
 
   if (op_poolstat.count(tid)) {
     PoolStatOp *op = op_poolstat[tid];
@@ -798,7 +798,7 @@ void Objecter::fs_stats_submit(StatfsOp *op)
 
 void Objecter::handle_fs_stats_reply(MStatfsReply *m) {
   dout(10) << "handle_fs_stats_reply " << *m << dendl;
-  tid_t tid = m->h.tid;
+  tid_t tid = m->get_tid();
 
   if (op_statfs.count(tid)) {
     StatfsOp *op = op_statfs[tid];