Sometime after 1.55, boost introduced a forward declaration of
operator<< in optional.hpp. In 1.55 and earlier, when << was used
without the _io having been included, what got dumped was an implicit
bool conversion.
http://tracker.ceph.com/issues/10688 Refs: #10688
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit
85717394c33137eb703a7b88608ec9cf3287f67a)
Conflicts:
src/include/encoding.h
trivial conflict
#define MAPCACHER_H
#include <boost/scoped_ptr.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "include/memory.h"
#include <set>
#include <map>
#include <deque>
#include <vector>
#include <string>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#ifndef _BACKWARD_BACKWARD_WARNING_H
#define _BACKWARD_BACKWARD_WARNING_H // make gcc 4.3 shut up about hash_*
#include "common/Mutex.h"
#include "common/Cond.h"
#include "common/simple_cache.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
/**
* DBObjectMap: Implements ObjectMap in terms of KeyValueDB
*/
#include <boost/variant.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <sstream>
#include "OSD.h"
#include "PGBackend.h"
#include "osd_types.h"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "erasure-code/ErasureCodeInterface.h"
#include "ECTransaction.h"
#include "ECMsgTypes.h"
*/
#include <boost/variant.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <vector>
#include <sstream>
#include "PGBackend.h"
#include "osd_types.h"
#include "ECUtil.h"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "erasure-code/ErasureCodeInterface.h"
class ECTransaction : public PGBackend::PGTransaction {
#ifndef CEPH_REPLICATEDPG_H
#define CEPH_REPLICATEDPG_H
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <boost/tuple/tuple.hpp>
#include "include/assert.h"
#include <stdio.h>
#include <memory>
#include <boost/scoped_ptr.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "include/rados/rados_types.hpp"