// Did I previously not hold a rank? Initialize!
if (mds_rank == NULL) {
- mds_rank = new MDSRankDispatcher(whoami, m->map_fs_name, mds_lock, clog,
+ mds_rank = new MDSRankDispatcher(whoami, mds_lock, clog,
timer, beacon, mdsmap, messenger, monc, &mgrc,
new LambdaContext([this](int r){respawn();}),
new LambdaContext([this](int r){suicide();}),
MDSRank::MDSRank(
mds_rank_t whoami_,
- std::string fs_name_,
ceph::mutex &mds_lock_,
LogChannelRef &clog_,
SafeTimer &timer_,
damage_table(whoami_), sessionmap(this),
op_tracker(g_ceph_context, g_conf()->mds_enable_op_tracker,
g_conf()->osd_num_op_tracker_shard),
- progress_thread(this), whoami(whoami_), fs_name(fs_name_),
+ progress_thread(this), whoami(whoami_),
purge_queue(g_ceph_context, whoami_,
mdsmap_->get_metadata_pool(), objecter,
new LambdaContext([this](int r) {
// send mdsmap first?
auto addrs = mdsmap->get_addrs(mds);
if (mds != whoami && peer_mdsmap_epoch[mds] < mdsmap->get_epoch()) {
- auto _m = make_message<MMDSMap>(monc->get_fsid(), *mdsmap,
- std::string(mdsmap->get_fs_name()));
+ auto _m = make_message<MMDSMap>(monc->get_fsid(), *mdsmap);
send_message_mds(_m, addrs);
peer_mdsmap_epoch[mds] = mdsmap->get_epoch();
}
void MDSRank::dump_status(Formatter *f) const
{
- f->dump_string("fs_name", fs_name);
+ f->dump_string("fs_name", std::string(mdsmap->get_fs_name()));
if (state == MDSMap::STATE_REPLAY ||
state == MDSMap::STATE_STANDBY_REPLAY) {
mdlog->dump_replay_status(f);
MDSRankDispatcher::MDSRankDispatcher(
mds_rank_t whoami_,
- std::string fs_name_,
ceph::mutex &mds_lock_,
LogChannelRef &clog_,
SafeTimer &timer_,
Context *respawn_hook_,
Context *suicide_hook_,
boost::asio::io_context& ioc)
- : MDSRank(whoami_, fs_name_, mds_lock_, clog_, timer_, beacon_, mdsmap_,
+ : MDSRank(whoami_, mds_lock_, clog_, timer_, beacon_, mdsmap_,
msgr, monc_, mgrc, respawn_hook_, suicide_hook_, ioc)
{
g_conf().add_observer(this);
MDSRank(
mds_rank_t whoami_,
- std::string fs_name_,
ceph::mutex &mds_lock_,
LogChannelRef &clog_,
SafeTimer &timer_,
boost::asio::io_context& ioc);
mds_rank_t get_nodeid() const { return whoami; }
- std::string_view get_fs_name() const { return fs_name; }
int64_t get_metadata_pool() const
{
return metadata_pool;
friend class C_MDS_MonCommand;
const mds_rank_t whoami;
- std::string fs_name;
~MDSRank();
public:
MDSRankDispatcher(
mds_rank_t whoami_,
- std::string fs_name,
ceph::mutex &mds_lock_,
LogChannelRef &clog_,
SafeTimer &timer_,
return;
}
- std::string_view fs_name = mds->get_fs_name();
+ std::string_view fs_name = mds->mdsmap->get_fs_name();
if (!fs_name.empty() && !session->fs_name_capable(fs_name, MAY_READ)) {
dout(0) << " dropping message not allowed for this fs_name: " << *m << dendl;
return;
return;
}
- std::string_view fs_name = mds->get_fs_name();
+ std::string_view fs_name = mds->mdsmap->get_fs_name();
if (!fs_name.empty() && !session->fs_name_capable(fs_name, MAY_READ)) {
dout(0) << " dropping message not allowed for this fs_name: " << *m << dendl;
auto reply = make_message<MClientSession>(CEPH_SESSION_REJECT);
uuid_d fsid;
epoch_t epoch = 0;
ceph::buffer::list encoded;
- std::string map_fs_name;
+ // don't really need map_fs_name. it was accidentally added in 51af2346fdf
+ // set it to empty string.
+ std::string map_fs_name = std::string();
version_t get_epoch() const { return epoch; }
const ceph::buffer::list& get_encoded() const { return encoded; }
MMDSMap() :
SafeMessage{CEPH_MSG_MDS_MAP, HEAD_VERSION, COMPAT_VERSION} {}
- MMDSMap(const uuid_d &f, const MDSMap &mm,
- const std::string mf = std::string()) :
+ MMDSMap(const uuid_d &f, const MDSMap &mm) :
SafeMessage{CEPH_MSG_MDS_MAP, HEAD_VERSION, COMPAT_VERSION},
- fsid(f), map_fs_name(mf) {
+ fsid(f) {
epoch = mm.get_epoch();
mm.encode(encoded, -1); // we will reencode with fewer features as necessary
}
if (sub->next > mds_map->epoch) {
return;
}
- auto msg = make_message<MMDSMap>(mon.monmap->fsid, *mds_map,
- mds_map->fs_name);
+ auto msg = make_message<MMDSMap>(mon.monmap->fsid, *mds_map);
sub->session->con->send_message(msg.detach());
if (sub->onetime) {