PG Layer's header dependency optimize.
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
*/
#include "PG.h"
+// #include "msg/Messenger.h"
+#include "messages/MOSDRepScrub.h"
+// #include "common/cmdparse.h"
+// #include "common/ceph_context.h"
+
#include "common/errno.h"
#include "common/config.h"
#include "OSD.h"
#include "messages/MOSDOp.h"
#include "messages/MOSDPGNotify.h"
-#include "messages/MOSDPGLog.h"
+// #include "messages/MOSDPGLog.h"
#include "messages/MOSDPGRemove.h"
#include "messages/MOSDPGInfo.h"
#include "messages/MOSDPGTrim.h"
#include "include/types.h"
#include "include/stringify.h"
#include "osd_types.h"
-#include "include/buffer_fwd.h"
#include "include/xlist.h"
#include "include/atomic.h"
#include "SnapMapper.h"
#include "PGLog.h"
-#include "OpRequest.h"
#include "OSDMap.h"
-#include "os/ObjectStore.h"
-#include "msg/Messenger.h"
-#include "messages/MOSDRepScrub.h"
#include "messages/MOSDPGLog.h"
-#include "common/cmdparse.h"
-#include "common/tracked_int_ptr.hpp"
-#include "common/WorkQueue.h"
-#include "common/ceph_context.h"
#include "include/str_list.h"
#include "PGBackend.h"
#include <string>
using namespace std;
-#include "include/unordered_map.h"
-#include "include/unordered_set.h"
+// #include "include/unordered_map.h"
+// #include "include/unordered_set.h"
//#define DEBUG_RECOVERY_OIDS // track set of recovering oids explicitly, to find counting bugs
class MOSDPGInfo;
class PG;
+struct OpRequest;
+typedef OpRequest::Ref OpRequestRef;
+class MOSDPGLog;
+class CephContext;
namespace Scrub {
class Store;
void intrusive_ptr_release(PG *pg);
#ifdef PG_DEBUG_REFS
+#include "common/tracked_int_ptr.hpp"
uint64_t get_with_id(PG *pg);
void put_with_id(PG *pg, uint64_t id);
typedef TrackedIntPtr<PG> PGRef;
#include "common/perf_counters.h"
#include "messages/MOSDOp.h"
-#include "messages/MOSDOpReply.h"
#include "messages/MOSDSubOp.h"
#include "messages/MOSDSubOpReply.h"
-#include "messages/MOSDRepOp.h"
-#include "messages/MOSDRepOpReply.h"
-
-#include "messages/MOSDPGNotify.h"
-#include "messages/MOSDPGInfo.h"
-#include "messages/MOSDPGRemove.h"
#include "messages/MOSDPGTrim.h"
#include "messages/MOSDPGScan.h"
+#include "messages/MOSDRepScrub.h"
#include "messages/MOSDPGBackfill.h"
-
-#include "messages/MOSDPing.h"
-#include "messages/MWatchNotify.h"
-
-#include "messages/MOSDPGPush.h"
-#include "messages/MOSDPGPull.h"
-#include "messages/MOSDPGPushReply.h"
#include "messages/MOSDPGUpdateLogMissing.h"
#include "messages/MOSDPGUpdateLogMissingReply.h"
#include "messages/MCommandReply.h"
-
-#include "Watch.h"
-
#include "mds/inode_backtrace.h" // Ugh
#include "common/config.h"
#include "include/compat.h"
-#include "common/cmdparse.h"
-
#include "mon/MonClient.h"
#include "osdc/Objecter.h"
-
#include "json_spirit/json_spirit_value.h"
#include "json_spirit/json_spirit_reader.h"
#include "include/assert.h" // json_spirit clobbers it
#ifndef CEPH_REPLICATEDPG_H
#define CEPH_REPLICATEDPG_H
-#include <boost/optional/optional_io.hpp>
#include <boost/tuple/tuple.hpp>
-
#include "include/assert.h"
-#include "include/unordered_map.h"
-#include "common/cmdparse.h"
-
-#include "HitSet.h"
-#include "OSD.h"
#include "PG.h"
#include "Watch.h"
-#include "OpRequest.h"
#include "TierAgentState.h"
-
-#include "messages/MOSDOp.h"
#include "messages/MOSDOpReply.h"
-#include "messages/MOSDSubOp.h"
-
#include "common/sharedptr_registry.hpp"
-
-#include "PGBackend.h"
#include "ReplicatedBackend.h"
-#include "ECBackend.h"
class MOSDSubOpReply;
class ReplicatedPG;
class PGLSFilter;
+class HitSet;
+struct TierAgentState;
+class MOSDOp;
+class MOSDOpReply;
+class MOSDSubOp;
+class OSDService;
+
void intrusive_ptr_add_ref(ReplicatedPG *pg);
void intrusive_ptr_release(ReplicatedPG *pg);
uint64_t get_with_id(ReplicatedPG *pg);