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
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)));
|