From: Xiaoxi Chen Date: Mon, 8 Dec 2014 05:54:04 +0000 (+0800) Subject: Cleanup: Drop hobject_incorrect_pool X-Git-Tag: v0.92~99^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=59b70fe20b00400f6152debb3d302ca3bc75d31b;p=ceph.git Cleanup: Drop hobject_incorrect_pool 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 --- diff --git a/src/messages/MOSDSubOp.h b/src/messages/MOSDSubOp.h index bf54d0bbec86..544dfcfe6ae5 100644 --- a/src/messages/MOSDSubOp.h +++ b/src/messages/MOSDSubOp.h @@ -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 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); } diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f088361b624f..037d2d9882de 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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::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