This is a gentoo overlay hosting either customized ebuilds I have in use as well as ebuilds for my own projects.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
4.0 KiB

diff -Naur ceph-15.2.8-orig/src/mds/PurgeQueue.cc ceph-15.2.8/src/mds/PurgeQueue.cc
--- ceph-15.2.8-orig/src/mds/PurgeQueue.cc 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/mds/PurgeQueue.cc 2021-03-01 07:57:26.654460816 +0100
@@ -503,7 +503,7 @@
in_flight[expire_to] = item;
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
auto ops = _calculate_ops(item);
ops_in_flight += ops;
@@ -581,7 +581,7 @@
logger->set(l_pq_executing_ops_high_water, ops_high_water);
in_flight.erase(expire_to);
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
return;
}
@@ -659,7 +659,7 @@
in_flight.erase(iter);
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
dout(10) << "in_flight.size() now " << in_flight.size() << dendl;
diff -Naur ceph-15.2.8-orig/src/pybind/ceph_argparse.py ceph-15.2.8/src/pybind/ceph_argparse.py
--- ceph-15.2.8-orig/src/pybind/ceph_argparse.py 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/pybind/ceph_argparse.py 2021-02-26 06:57:25.428574224 +0100
@@ -1319,7 +1319,10 @@
# otherwise it will keep polling until timeout or thread stops.
# wait for INT32_MAX, as python 3.6.8 use int32_t to present the
# timeout in integer when converting it to nanoseconds
- timeout = (1 << (32 - 1)) - 1
+ #timeout = (1 << (32 - 1)) - 1
+ # On arm32 this leads to a nearly immediately thrown timeout exception...
+ # The following works...
+ timeout = (1 << (29 - 1)) - 1
t = RadosThread(func, *args, **kwargs)
# allow the main thread to exit (presumably, avoid a join() on this
diff -Naur ceph-15.2.8-orig/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc ceph-15.2.8/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc
--- ceph-15.2.8-orig/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc 2021-02-25 16:47:45.405117124 +0100
@@ -234,7 +234,7 @@
json_spirit::mObject root_obj;
root_obj["replay_state"] = replay_state;
- root_obj["remote_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
+ root_obj["remote_snapshot_timestamp"] = static_cast<uint64_t>(remote_snap_info->timestamp.sec());
auto matching_remote_snap_id = util::compute_remote_snap_id(
m_state_builder->local_image_ctx->image_lock,
@@ -248,8 +248,8 @@
// use the timestamp from the matching remote image since
// the local snapshot would just be the time the snapshot was
// synced and not the consistency point in time.
- root_obj["local_snapshot_timestamp"] =
- matching_remote_snap_it->second.timestamp.sec();
+ root_obj["local_snapshot_timestamp"] = static_cast<uint64_t>(
+ matching_remote_snap_it->second.timestamp.sec());
}
matching_remote_snap_it = m_state_builder->remote_image_ctx->snap_info.find(
@@ -257,7 +257,7 @@
if (m_remote_snap_id_end != CEPH_NOSNAP &&
matching_remote_snap_it !=
m_state_builder->remote_image_ctx->snap_info.end()) {
- root_obj["syncing_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
+ root_obj["syncing_snapshot_timestamp"] = static_cast<uint64_t>(remote_snap_info->timestamp.sec());
root_obj["syncing_percent"] = static_cast<uint64_t>(
100 * m_local_mirror_snap_ns.last_copied_object_number /
static_cast<float>(std::max<uint64_t>(1U, m_local_object_count)));