]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Cleanup: Drop hobject_incorrect_pool 3114/head
authorXiaoxi Chen <xiaoxi.chen@intel.com>
Mon, 8 Dec 2014 05:54:04 +0000 (13:54 +0800)
committerXiaoxi Chen <xiaoxi.chen@intel.com>
Wed, 17 Dec 2014 13:50:07 +0000 (21:50 +0800)
This field in MOSDSubOp, used to support very old version
OSD(MOSDSubOp header version < 7, which was introduced in
mid 2012 by commit 2fe9816305fc1406ab7fb043bbb32affffc2d190)

Now since two years pasted, we don't need it anymore.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
src/messages/MOSDSubOp.h
src/osd/ReplicatedPG.cc

index bf54d0bbec867308ea14abb368a9ad8a0e8dbed3..544dfcfe6ae5d94fa1f28564902cad1ef2205c1e 100644 (file)
@@ -26,7 +26,7 @@
 class MOSDSubOp : public Message {
 
   static const int HEAD_VERSION = 11;
-  static const int COMPAT_VERSION = 1;
+  static const int COMPAT_VERSION = 7;
 
 public:
   epoch_t map_epoch;
@@ -85,8 +85,6 @@ public:
   map<string,bufferlist> omap_entries;
   bufferlist omap_header;
 
-  // indicates that we must fix hobject_t encoding
-  bool hobject_incorrect_pool;
 
   hobject_t new_temp_oid;      ///< new temp object that we must now start tracking
   hobject_t discard_temp_oid;  ///< previously used temp object that we can now stop tracking
@@ -101,7 +99,9 @@ public:
   }
 
   virtual void decode_payload() {
-    hobject_incorrect_pool = false;
+    //since we drop incorrect_pools flag, now we only support
+    //version >=7
+    assert (header.version >= 7);
     bufferlist::iterator p = payload.begin();
     ::decode(map_epoch, p);
     ::decode(reqid, p);
@@ -138,29 +138,15 @@ public:
     ::decode(data_subset, p);
     ::decode(clone_subsets, p);
     
-    if (header.version >= 2) {
-      ::decode(first, p);
-      ::decode(complete, p);
-    }
-    if (header.version >= 3)
-      ::decode(oloc, p);
-    if (header.version >= 4) {
-      ::decode(data_included, p);
-      recovery_info.decode(p, pgid.pool());
-      ::decode(recovery_progress, p);
-      ::decode(current_progress, p);
-    }
-    if (header.version >= 5)
-      ::decode(omap_entries, p);
-    if (header.version >= 6)
-      ::decode(omap_header, p);
-
-    if (header.version < 7) {
-      // Handle hobject_t format change
-      if (!poid.is_max() && poid.pool == -1)
-       poid.pool = pgid.pool();
-      hobject_incorrect_pool = true;
-    }
+    ::decode(first, p);
+    ::decode(complete, p);
+    ::decode(oloc, p);
+    ::decode(data_included, p);
+    recovery_info.decode(p, pgid.pool());
+    ::decode(recovery_progress, p);
+    ::decode(current_progress, p);
+    ::decode(omap_entries, p);
+    ::decode(omap_header, p);
 
     if (header.version >= 8) {
       ::decode(new_temp_oid, p);
@@ -251,8 +237,7 @@ public:
       acks_wanted(aw),
       old_exists(false), old_size(0),
       version(v),
-      first(false), complete(false),
-      hobject_incorrect_pool(false) {
+      first(false), complete(false) {
     memset(&peer_stat, 0, sizeof(peer_stat));
     set_tid(rtid);
   }
index f088361b624f697dcd90483dde2c2091163f2c33..037d2d9882de73c49e8112329cba3044a7df23f5 100644 (file)
@@ -8042,17 +8042,7 @@ void ReplicatedBackend::sub_op_modify(OpRequestRef op)
 
   p = m->logbl.begin();
   ::decode(log, p);
-  if (m->hobject_incorrect_pool) {
-    for (vector<pg_log_entry_t>::iterator i = log.begin();
-      i != log.end();
-      ++i) {
-      if (!i->soid.is_max() && i->soid.pool == -1)
-       i->soid.pool = get_info().pgid.pool();
-    }
-    rm->opt.set_pool_override(get_info().pgid.pool());
-  }
-  
-  rm->opt.set_fadvise_flag(CEPH_OSD_OP_FLAG_FADVISE_DONTNEED);
+
   bool update_snaps = false;
   if (!rm->opt.empty()) {
     // If the opt is non-empty, we infer we are before