void ESession::update_segment()
{
- _segment->sessionmapv = cmapv;
+ get_segment()->sessionmapv = cmapv;
if (inos.size() && inotablev)
- _segment->inotablev = inotablev;
+ get_segment()->inotablev = inotablev;
}
void ESession::replay(MDSRank *mds)
void ESessions::update_segment()
{
- _segment->sessionmapv = cmapv;
+ get_segment()->sessionmapv = cmapv;
}
void ESessions::replay(MDSRank *mds)
void ETableServer::update_segment()
{
- _segment->tablev[table] = version;
+ get_segment()->tablev[table] = version;
}
void ETableServer::replay(MDSRank *mds)
/*
void ESnap::update_segment()
{
- _segment->tablev[TABLE_SNAP] = version;
+ get_segment()->tablev[TABLE_SNAP] = version;
}
void ESnap::replay(MDSRank *mds)
void EUpdate::update_segment()
{
- metablob.update_segment(_segment);
+ auto&& segment = get_segment();
+ metablob.update_segment(segment);
if (client_map.length())
- _segment->sessionmapv = cmapv;
+ segment->sessionmapv = cmapv;
if (had_slaves)
- _segment->uncommitted_masters.insert(reqid);
+ segment->uncommitted_masters.insert(reqid);
}
void EUpdate::replay(MDSRank *mds)
{
- metablob.replay(mds, _segment);
+ auto&& segment = get_segment();
+ metablob.replay(mds, segment);
if (had_slaves) {
dout(10) << "EUpdate.replay " << reqid << " had slaves, expecting a matching ECommitted" << dendl;
- _segment->uncommitted_masters.insert(reqid);
+ segment->uncommitted_masters.insert(reqid);
set<mds_rank_t> slaves;
- mds->mdcache->add_uncommitted_master(reqid, _segment, slaves, true);
+ mds->mdcache->add_uncommitted_master(reqid, segment, slaves, true);
}
if (client_map.length()) {
void EOpen::replay(MDSRank *mds)
{
dout(10) << "EOpen.replay " << dendl;
- metablob.replay(mds, _segment);
+ auto&& segment = get_segment();
+ metablob.replay(mds, segment);
// note which segments inodes belong to, so we don't have to start rejournaling them
for (const auto &ino : inos) {
dout(0) << "EOpen.replay ino " << ino << " not in metablob" << dendl;
ceph_assert(in);
}
- _segment->open_files.push_back(&in->item_open_file);
+ segment->open_files.push_back(&in->item_open_file);
}
for (const auto &vino : snap_inos) {
CInode *in = mds->mdcache->get_inode(vino);
dout(0) << "EOpen.replay ino " << vino << " not in metablob" << dendl;
ceph_assert(in);
}
- _segment->open_files.push_back(&in->item_open_file);
+ segment->open_files.push_back(&in->item_open_file);
}
}
void ESlaveUpdate::replay(MDSRank *mds)
{
MDSlaveUpdate *su;
+ auto&& segment = get_segment();
switch (op) {
case ESlaveUpdate::OP_PREPARE:
dout(10) << "ESlaveUpdate.replay prepare " << reqid << " for mds." << master
<< ": applying commit, saving rollback info" << dendl;
- su = new MDSlaveUpdate(origop, rollback, _segment->slave_updates);
- commit.replay(mds, _segment, su);
+ su = new MDSlaveUpdate(origop, rollback, segment->slave_updates);
+ commit.replay(mds, segment, su);
mds->mdcache->add_uncommitted_slave_update(reqid, master, su);
break;
case ESlaveUpdate::OP_ROLLBACK:
dout(10) << "ESlaveUpdate.replay abort " << reqid << " for mds." << master
<< ": applying rollback commit blob" << dendl;
- commit.replay(mds, _segment);
+ commit.replay(mds, segment);
su = mds->mdcache->get_uncommitted_slave_update(reqid, master);
if (su)
mds->mdcache->finish_uncommitted_slave_update(reqid, master);
// first, stick the spanning tree in my cache
//metablob.print(*_dout);
- metablob.replay(mds, _segment);
+ metablob.replay(mds, get_segment());
// restore import/export maps
for (map<dirfrag_t, vector<dirfrag_t> >::iterator p = subtrees.begin();
// refragment anything we already have in the cache.
CInode *in = mds->mdcache->get_inode(ino);
+ auto&& segment = get_segment();
switch (op) {
case OP_PREPARE:
- mds->mdcache->add_uncommitted_fragment(dirfrag_t(ino, basefrag), bits, orig_frags, _segment, &rollback);
+ mds->mdcache->add_uncommitted_fragment(dirfrag_t(ino, basefrag), bits, orig_frags, segment, &rollback);
if (in)
mds->mdcache->adjust_dir_fragments(in, basefrag, bits, resultfrags, waiters, true);
ceph_abort();
}
- metablob.replay(mds, _segment);
+ metablob.replay(mds, segment);
if (in && g_conf()->mds_debug_frag)
in->verify_dirfrags();
}
void EExport::replay(MDSRank *mds)
{
dout(10) << "EExport.replay " << base << dendl;
- metablob.replay(mds, _segment);
+ auto&& segment = get_segment();
+ metablob.replay(mds, segment);
CDir *dir = mds->mdcache->get_dirfrag(base);
ceph_assert(dir);
void EImportStart::update_segment()
{
- _segment->sessionmapv = cmapv;
+ get_segment()->sessionmapv = cmapv;
}
void EImportStart::replay(MDSRank *mds)
{
dout(10) << "EImportStart.replay " << base << " bounds " << bounds << dendl;
//metablob.print(*_dout);
- metablob.replay(mds, _segment);
+ auto&& segment = get_segment();
+ metablob.replay(mds, segment);
// put in ambiguous import list
mds->mdcache->add_ambiguous_import(base, bounds);