From: Sage Weil Date: Fri, 14 Jun 2019 21:23:21 +0000 (-0500) Subject: osd: copy (don't move) pg list when sending beacon X-Git-Tag: v13.2.7~164^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e3388dc188c9a40caed97f3b28be9370d06305ca;p=ceph.git osd: copy (don't move) pg list when sending beacon If we move the list, then a second beacon sent before the pg list refreshes will be empty. Fixes: http://tracker.ceph.com/issues/40377 Signed-off-by: Sage Weil (cherry picked from commit f2f6e170de100cb57d06e4b9a3dbba65530f745f) --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 2a2cee1121dca..d22a9cb46d4f8 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -5646,7 +5646,7 @@ void OSD::send_beacon(const ceph::coarse_mono_clock::time_point& now) { Mutex::Locker l{min_last_epoch_clean_lock}; beacon = new MOSDBeacon(osdmap->get_epoch(), min_last_epoch_clean); - std::swap(beacon->pgs, min_last_epoch_clean_pgs); + beacon->pgs = min_last_epoch_clean_pgs; last_sent_beacon = now; } monc->send_mon_message(beacon);