From: John Spray Date: Fri, 29 Sep 2017 10:43:24 +0000 (-0400) Subject: mds: fix FSMap copy constructor X-Git-Tag: v13.0.1~364^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=516896d3c93ace4e610960f0f2b7a9824df3f7f2;p=ceph.git mds: fix FSMap copy constructor This was confusing ceph-mgr, which did a fsmap = new_fsmap and found that old filesystems were never disappearing after being removed. Fixes: http://tracker.ceph.com/issues/21599 Signed-off-by: John Spray --- diff --git a/src/mds/FSMap.h b/src/mds/FSMap.h index ea102a71274..a34d278cd31 100644 --- a/src/mds/FSMap.h +++ b/src/mds/FSMap.h @@ -132,6 +132,7 @@ public: standby_daemons(rhs.standby_daemons), standby_epochs(rhs.standby_epochs) { + filesystems.clear(); for (const auto &i : rhs.filesystems) { const auto &fs = i.second; filesystems[fs->fscid] = std::make_shared(*fs); @@ -149,6 +150,7 @@ public: standby_daemons = rhs.standby_daemons; standby_epochs = rhs.standby_epochs; + filesystems.clear(); for (const auto &i : rhs.filesystems) { const auto &fs = i.second; filesystems[fs->fscid] = std::make_shared(*fs);