From: shawn Date: Tue, 17 May 2016 06:14:01 +0000 (-0400) Subject: PGBackend: optimize header file dependency to decreace compile time when modify any... X-Git-Tag: v11.0.0~477^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eb355fadbc945a52d66876a2b3e20699ce031572;p=ceph.git PGBackend: optimize header file dependency to decreace compile time when modify any file hmm, everytime modify any file, then compile, then wait&wait&wait, so trying to optimize this part, wish to decrease header dependency, try to improve compile speed. Signed-off-by: Xiaowei Chen --- diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index 975c49b8d90b..cbdd675db099 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -12,18 +12,19 @@ * */ -#include -#include #include #include -#include "ECUtil.h" #include "ECBackend.h" #include "messages/MOSDPGPush.h" #include "messages/MOSDPGPushReply.h" -#include "ReplicatedPG.h" +#include "messages/MOSDECSubOpWrite.h" +#include "messages/MOSDECSubOpWriteReply.h" +#include "messages/MOSDECSubOpRead.h" +#include "messages/MOSDECSubOpReadReply.h" +#include "ECMsgTypes.h" -class ReplicatedPG; +#include "ReplicatedPG.h" #define dout_subsys ceph_subsys_osd #define DOUT_PREFIX_ARGS this diff --git a/src/osd/ECBackend.h b/src/osd/ECBackend.h index a0bf62dde994..91aa7fd8fa74 100644 --- a/src/osd/ECBackend.h +++ b/src/osd/ECBackend.h @@ -18,13 +18,15 @@ #include "OSD.h" #include "PGBackend.h" #include "erasure-code/ErasureCodeInterface.h" -#include "ECTransaction.h" -#include "ECMsgTypes.h" #include "ECUtil.h" -#include "messages/MOSDECSubOpWrite.h" -#include "messages/MOSDECSubOpWriteReply.h" -#include "messages/MOSDECSubOpRead.h" -#include "messages/MOSDECSubOpReadReply.h" +#include "ECTransaction.h" + +//forward declaration +struct ECSubWrite; +struct ECSubWriteReply; +struct ECSubRead; +struct ECSubReadReply; +class ECTransaction; struct RecoveryMessages; class ECBackend : public PGBackend { diff --git a/src/osd/ECTransaction.cc b/src/osd/ECTransaction.cc index 64dd89feac2c..efad66d5aef9 100644 --- a/src/osd/ECTransaction.cc +++ b/src/osd/ECTransaction.cc @@ -12,13 +12,11 @@ * */ -#include -#include #include #include #include -#include "ECBackend.h" +#include "ECTransaction.h" #include "ECUtil.h" #include "os/ObjectStore.h" diff --git a/src/osd/PGBackend.cc b/src/osd/PGBackend.cc index 409dbca4aef8..4819ea04414c 100644 --- a/src/osd/PGBackend.cc +++ b/src/osd/PGBackend.cc @@ -24,6 +24,9 @@ #include "PGBackend.h" #include "OSD.h" #include "erasure-code/ErasureCodePlugin.h" +#include "OSDMap.h" +#include "PGLog.h" +#include "common/LogClient.h" #define dout_subsys ceph_subsys_osd #define DOUT_PREFIX_ARGS this diff --git a/src/osd/PGBackend.h b/src/osd/PGBackend.h index f88c1a08af76..deaddfed4af3 100644 --- a/src/osd/PGBackend.h +++ b/src/osd/PGBackend.h @@ -18,8 +18,6 @@ #ifndef PGBACKEND_H #define PGBACKEND_H -#include "OSDMap.h" -#include "PGLog.h" #include "osd_types.h" #include "common/WorkQueue.h" #include "include/Context.h" @@ -32,6 +30,11 @@ namespace Scrub { } struct shard_info_wrapper; +//forward declaration +class OSDMap; +class PGLog; +typedef ceph::shared_ptr OSDMapRef; + /** * PGBackend *