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 <chen.xiaowei@h3c.com>
*
*/
-#include <boost/variant.hpp>
-#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <sstream>
-#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
#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 {
*
*/
-#include <boost/variant.hpp>
-#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <vector>
#include <sstream>
-#include "ECBackend.h"
+#include "ECTransaction.h"
#include "ECUtil.h"
#include "os/ObjectStore.h"
#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
#ifndef PGBACKEND_H
#define PGBACKEND_H
-#include "OSDMap.h"
-#include "PGLog.h"
#include "osd_types.h"
#include "common/WorkQueue.h"
#include "include/Context.h"
}
struct shard_info_wrapper;
+//forward declaration
+class OSDMap;
+class PGLog;
+typedef ceph::shared_ptr<const OSDMap> OSDMapRef;
+
/**
* PGBackend
*