Skip to content

Commit 651bc29

Browse files
committed
Merge PR ceph#63178 into main
* refs/pull/63178/head: cephfs, tools/cephfs_mirror: migrate from boost::variant to std::variant Reviewed-by: Patrick Donnelly <[email protected]> Reviewed-by: Venky Shankar <[email protected]>
2 parents ce38278 + 92e41e0 commit 651bc29

File tree

4 files changed

+26
-27
lines changed

4 files changed

+26
-27
lines changed

src/include/cephfs/metrics/Types.h

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#define CEPH_INCLUDE_CEPHFS_METRICS_TYPES_H
66

77
#include <string>
8-
#include <boost/variant.hpp>
8+
#include <variant>
99

1010
#include "common/Formatter.h"
1111
#include "include/buffer_fwd.h"
@@ -552,17 +552,17 @@ struct UnknownPayload : public ClientMetricPayloadBase {
552552
}
553553
};
554554

555-
typedef boost::variant<CapInfoPayload,
556-
ReadLatencyPayload,
557-
WriteLatencyPayload,
558-
MetadataLatencyPayload,
559-
DentryLeasePayload,
560-
OpenedFilesPayload,
561-
PinnedIcapsPayload,
562-
OpenedInodesPayload,
563-
ReadIoSizesPayload,
564-
WriteIoSizesPayload,
565-
UnknownPayload> ClientMetricPayload;
555+
typedef std::variant<CapInfoPayload,
556+
ReadLatencyPayload,
557+
WriteLatencyPayload,
558+
MetadataLatencyPayload,
559+
DentryLeasePayload,
560+
OpenedFilesPayload,
561+
PinnedIcapsPayload,
562+
OpenedInodesPayload,
563+
ReadIoSizesPayload,
564+
WriteIoSizesPayload,
565+
UnknownPayload> ClientMetricPayload;
566566

567567
// metric update message sent by clients
568568
struct ClientMetricMessage {
@@ -571,7 +571,7 @@ struct ClientMetricMessage {
571571
: payload(payload) {
572572
}
573573

574-
class EncodePayloadVisitor : public boost::static_visitor<void> {
574+
class EncodePayloadVisitor {
575575
public:
576576
explicit EncodePayloadVisitor(bufferlist &bl) : m_bl(bl) {
577577
}
@@ -587,7 +587,7 @@ struct ClientMetricMessage {
587587
bufferlist &m_bl;
588588
};
589589

590-
class DecodePayloadVisitor : public boost::static_visitor<void> {
590+
class DecodePayloadVisitor {
591591
public:
592592
DecodePayloadVisitor(bufferlist::const_iterator &iter) : m_iter(iter) {
593593
}
@@ -602,7 +602,7 @@ struct ClientMetricMessage {
602602
bufferlist::const_iterator &m_iter;
603603
};
604604

605-
class DumpPayloadVisitor : public boost::static_visitor<void> {
605+
class DumpPayloadVisitor {
606606
public:
607607
explicit DumpPayloadVisitor(Formatter *formatter) : m_formatter(formatter) {
608608
}
@@ -617,7 +617,7 @@ struct ClientMetricMessage {
617617
Formatter *m_formatter;
618618
};
619619

620-
class PrintPayloadVisitor : public boost::static_visitor<void> {
620+
class PrintPayloadVisitor {
621621
public:
622622
explicit PrintPayloadVisitor(std::ostream *out) : _out(out) {
623623
}
@@ -636,7 +636,7 @@ struct ClientMetricMessage {
636636
};
637637

638638
void encode(bufferlist &bl) const {
639-
boost::apply_visitor(EncodePayloadVisitor(bl), payload);
639+
std::visit(EncodePayloadVisitor(bl), payload);
640640
}
641641

642642
void decode(bufferlist::const_iterator &iter) {
@@ -681,19 +681,19 @@ struct ClientMetricMessage {
681681
break;
682682
}
683683

684-
boost::apply_visitor(DecodePayloadVisitor(iter), payload);
684+
std::visit(DecodePayloadVisitor(iter), payload);
685685
}
686686

687687
void dump(Formatter *f) const {
688-
apply_visitor(DumpPayloadVisitor(f), payload);
688+
std::visit(DumpPayloadVisitor(f), payload);
689689
}
690690

691691
static void generate_test_instances(std::list<ClientMetricMessage*>& ls) {
692692
ls.push_back(new ClientMetricMessage(CapInfoPayload(1, 2, 3)));
693693
}
694694

695695
void print(std::ostream *out) const {
696-
apply_visitor(PrintPayloadVisitor(out), payload);
696+
std::visit(PrintPayloadVisitor(out), payload);
697697
}
698698

699699
ClientMetricPayload payload;

src/mds/MetricsHandler.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ void MetricsHandler::handle_client_metrics(const cref_t<MClientMetrics> &m) {
343343
}
344344

345345
for (auto &metric : m->updates) {
346-
boost::apply_visitor(HandlePayloadVisitor(this, session), metric.payload);
346+
std::visit(HandlePayloadVisitor(this, session), metric.payload);
347347
}
348348
}
349349

src/tools/cephfs_mirror/ServiceDaemon.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace mirror {
1919

2020
namespace {
2121

22-
struct AttributeDumpVisitor : public boost::static_visitor<void> {
22+
struct AttributeDumpVisitor {
2323
ceph::Formatter *f;
2424
std::string name;
2525

@@ -192,7 +192,7 @@ void ServiceDaemon::update_status() {
192192
f.dump_string("name", filesystem.fs_name);
193193
for (auto &[attr_name, attr_value] : filesystem.fs_attributes) {
194194
AttributeDumpVisitor visitor(&f, attr_name);
195-
boost::apply_visitor(visitor, attr_value);
195+
std::visit(visitor, attr_value);
196196
}
197197
f.open_object_section("peers");
198198
for (auto &[peer, attributes] : filesystem.peer_attributes) {
@@ -201,7 +201,7 @@ void ServiceDaemon::update_status() {
201201
f.open_object_section("stats");
202202
for (auto &[attr_name, attr_value] : attributes) {
203203
AttributeDumpVisitor visitor(&f, attr_name);
204-
boost::apply_visitor(visitor, attr_value);
204+
std::visit(visitor, attr_value);
205205
}
206206
f.close_section(); // stats
207207
f.close_section(); // peer.uuid

src/tools/cephfs_mirror/Types.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@
77
#include <set>
88
#include <iostream>
99
#include <string_view>
10+
#include <variant>
1011

1112
#include "include/rados/librados.hpp"
1213
#include "include/cephfs/libcephfs.h"
1314
#include "mds/mdstypes.h"
1415

15-
#include <boost/variant/variant.hpp>
16-
1716
namespace cephfs {
1817
namespace mirror {
1918

2019
static const std::string CEPHFS_MIRROR_OBJECT("cephfs_mirror");
2120

22-
typedef boost::variant<bool, uint64_t, std::string> AttributeValue;
21+
typedef std::variant<bool, uint64_t, std::string> AttributeValue;
2322
typedef std::map<std::string, AttributeValue> Attributes;
2423

2524
// distinct filesystem identifier

0 commit comments

Comments
 (0)