If prepare_beacon is called on an existing standby's beacon, then it
will handle any changes to get_fs() but if there's not been a change to
the empty case, the MDSMonitor will assert.
Fixes: https://tracker.ceph.com/issues/43542
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
standby_daemon_fscid.at(standby_gid) = fscid;
}
-void FSMap::clear_standby_fscid(mds_gid_t standby_gid)
+std::size_t FSMap::clear_standby_fscid(mds_gid_t standby_gid)
{
auto count = standby_daemon_fscid.erase(standby_gid);
- ceph_assert(count);
+ return count;
}
std::vector<mds_gid_t> FSMap::stop(mds_gid_t who)
*/
void adjust_standby_fscid(mds_gid_t standby_gid,
fs_cluster_id_t fscid);
- void clear_standby_fscid(mds_gid_t standby_gid);
+ std::size_t clear_standby_fscid(mds_gid_t standby_gid);
/**
* Assign an MDS cluster standby replay rank to a standby daemon