]>
git.proxmox.com Git - ceph.git/blob - ceph/src/common/options/build_options.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #include "build_options.h"
9 std::vector
<Option
> get_global_options();
10 std::vector
<Option
> get_mgr_options();
11 std::vector
<Option
> get_mon_options();
12 std::vector
<Option
> get_crimson_options();
13 std::vector
<Option
> get_osd_options();
14 std::vector
<Option
> get_rgw_options();
15 std::vector
<Option
> get_rbd_options();
16 std::vector
<Option
> get_rbd_mirror_options();
17 std::vector
<Option
> get_immutable_object_cache_options();
18 std::vector
<Option
> get_mds_options();
19 std::vector
<Option
> get_mds_client_options();
20 std::vector
<Option
> get_cephfs_mirror_options();
22 std::vector
<Option
> build_options()
24 std::vector
<Option
> result
= get_global_options();
26 auto ingest
= [&result
](std::vector
<Option
>&& options
, const char* svc
) {
27 for (auto &o
: options
) {
28 if (std::none_of(o
.services
.begin(), o
.services
.end(),
29 [svc
](const char* known_svc
) {
30 return std::strcmp(known_svc
, svc
) == 0;
34 result
.push_back(std::move(o
));
38 ingest(get_crimson_options(), "osd");
39 ingest(get_mgr_options(), "mgr");
40 ingest(get_mon_options(), "mon");
41 ingest(get_osd_options(), "osd");
42 ingest(get_rgw_options(), "rgw");
43 ingest(get_rbd_options(), "rbd");
44 ingest(get_rbd_mirror_options(), "rbd-mirror");
45 ingest(get_immutable_object_cache_options(), "immutable-object-cache");
46 ingest(get_mds_options(), "mds");
47 ingest(get_mds_client_options(), "mds_client");
48 ingest(get_cephfs_mirror_options(), "cephfs-mirror");