to silence warning from clang13 with -std=c++20, like
ceph/src/crimson/osd/replicated_recovery_backend.cc:1098:21: warning: loop variable '[off, len]' creates a copy from type 'const std::pair<const unsigned long, unsigned long>' [-Wrange-loop-construct]
for (const auto [off, len] : extents) {
^
ceph/src/crimson/osd/replicated_recovery_backend.cc:1098:10: note: use reference type 'const std::pair<const unsigned long, unsigned long> &' to prevent copying
for (const auto [off, len] : extents) {
^~~~~~~~~~~~~~~~~~~~~~~
&
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
otherwise the aggregate initialization for this type would fail to
work on C++20, as the user-declared ctor is defined for this struct.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
seastar::metrics::label was dropped in a recent change. quote from
the commit message which removed this type:
> In practice, it's an over-kill and just add information in the reporting
> layer.
see also da395f31989a1ee333e489ffb251fc1152f12f0a in seastar repo
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
to address following FTBFS:
/usr/bin/ccache /usr/bin/clang++-13 -DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_T$
In file included from /var/ssd/ceph/src/crimson/os/seastore/seastore_types.cc:4:
In file included from /var/ssd/ceph/src/crimson/os/seastore/seastore_types.h:14:
In file included from /var/ssd/ceph/src/include/denc.h:47:
/var/ssd/ceph/src/include/buffer.h:98:37: error: no template named 'unique_ptr' in namespace 'std'; did you mean 'boost::movelib::unique_ptr'?
struct unique_leakable_ptr : public std::unique_ptr<T, ceph::nop_delete<T>> {
^~~~~~~~~~~~~~~
boost::movelib::unique_ptr
/opt/ceph/include/boost/move/unique_ptr.hpp:354:7: note: 'boost::movelib::unique_ptr' declared here
class unique_ptr
^
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Remove the extra check of the cluster id from _apply method. As _apply
is a "private" method that should be only called from other private
methods that have already validated the cluster_id. It also removes
a dependency on the orch-requiring func available_clusters.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The `exports` property of the ExportMgr exists to cache the exports
configuration found in the .nfs namespace. Using that property
within the property method is probably not intentional and is probably
only working due to the lucky construction of the _exports dict
immediately after the None check so that the _exports dict is returned
(and is a mutable type).
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The changes to the nfs module in 8c711afc are working but when I began
writing more test automation I found a few more places in the
export-configuration code path relying on the orchestration module
only. This change generalizes the logic to source nfs clusters from
orchestration when it's enabled but from the .nfs pool when
orchestration is disabled. It then uses that call when loading
the exports cache on the ExportMgr object.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
This PR alphabetizes the internal and external
references at the bottom of the Restructured
Text.
(This is really just a PR made so that I can
show how to make a documentation pull request.)
(In a video.)
(For people who prefer step-by-step instructions
in video form.)
Signed-off-by: Zac Dover <zac.dover@gmail.com>
This PR restores material about partition alignment
and material about separating OS and OSD data that
was removed in an earlier rewrite. The restoration
of this information was requested by Anthony D'Atri in
https://github.com/ceph/ceph/pull/45123/
This PR also includes several refinements to the language
that could not be made to this text until now, owing to my
(Zac's) ignorance and illiteracy.
I call upon Mark Nelson (and anyone else with sufficient
command of the current state of storage technology) to advise
me on whether the Ceph Foundation feels comfortable in the year
2022 referring to QLC as an emerging technology.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
(squash) more notes and revisions
Signed-off-by: Zac Dover <zac.dover@gmail.com>
gc is initialised and send_chain does not crash.
Also deleting objects inline in case gc is uninitialised.
Fixes: https://tracker.ceph.com/issues/54417
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
mgr/nfs: various minor cleanups
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
cephadm: still set container_image when --no-assimilate-config is provided in bootstrap
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Otherwise, without this change, this can only be used for mgr,
mon and crash (daemons without their own service spec class)
Fixes: https://tracker.ceph.com/issues/54390
Signed-off-by: Adam King <adking@redhat.com>
While collecting LevelSpec using class method from_name make sure to cast
pool_id from int to string. This is necessary to match the internal
representation of LevelSpec where pool_id is maintained as str.
Fixes: https://tracker.ceph.com/issues/53915
Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
Limit the amount of scrubber code that directly calls the
PG-Backend services - in this case, the logical-size to
on-disk-size translation.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Target: improving Scrubber BE testability by reducing the number and
complexity of the external APIs it uses.
(note - first step of many)
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
If osd_pg_max_concurrent_snap_trims is zero, we mistakenly clear
the snaptrim queue. Require it to be > 0.
Fixes: https://tracker.ceph.com/issues/54396
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>