dout(10) << "pool_op_submit " << op->tid << dendl;
MPoolOp *m = new MPoolOp(monc->get_fsid(), op->tid, op->pool,
op->name, op->pool_op,
- op->auid, last_seen_version);
+ op->auid, last_seen_osdmap_version);
if (op->snapid) m->snapid = op->snapid;
monc->send_mon_message(m);
op->last_submit = g_clock.now();
op->blp->claim(*m->response_data);
m->response_data = NULL;
}
- if (m->version > last_seen_version)
- last_seen_version = m->version;
- if (osdmap->get_epoch() < m->epoch) {
+ if (m->version > last_seen_osdmap_version)
+ last_seen_osdmap_version = m->version;
+ if (m->replyCode == 0 && osdmap->get_epoch() < m->epoch) {
dout(20) << "waiting for client to reach epoch " << m->epoch << " before calling back" << dendl;
wait_for_new_map(op->onfinish, m->epoch, m->replyCode);
}
void Objecter::poolstat_submit(PoolStatOp *op)
{
dout(10) << "poolstat_submit " << op->tid << dendl;
- monc->send_mon_message(new MGetPoolStats(monc->get_fsid(), op->tid, op->pools, last_seen_version));
+ monc->send_mon_message(new MGetPoolStats(monc->get_fsid(), op->tid, op->pools, last_seen_pgmap_version));
op->last_submit = g_clock.now();
}
PoolStatOp *op = op_poolstat[tid];
dout(10) << "have request " << tid << " at " << op << dendl;
*op->pool_stats = m->pool_stats;
- if (m->version > last_seen_version)
- last_seen_version = m->version;
+ if (m->version > last_seen_pgmap_version)
+ last_seen_pgmap_version = m->version;
op->onfinish->finish(0);
delete op->onfinish;
op_poolstat.erase(tid);
void Objecter::fs_stats_submit(StatfsOp *op)
{
dout(10) << "fs_stats_submit" << op->tid << dendl;
- monc->send_mon_message(new MStatfs(monc->get_fsid(), op->tid, last_seen_version));
+ monc->send_mon_message(new MStatfs(monc->get_fsid(), op->tid, last_seen_pgmap_version));
op->last_submit = g_clock.now();
}
StatfsOp *op = op_statfs[tid];
dout(10) << "have request " << tid << " at " << op << dendl;
*(op->stats) = m->h.st;
- if (m->h.version > last_seen_version)
- last_seen_version = m->h.version;
+ if (m->h.version > last_seen_pgmap_version)
+ last_seen_pgmap_version = m->h.version;
op->onfinish->finish(0);
delete op->onfinish;
op_statfs.erase(tid);
void maybe_request_map();
- version_t last_seen_version;
+ version_t last_seen_osdmap_version;
+ version_t last_seen_pgmap_version;
+
Mutex &client_lock;
SafeTimer timer;
messenger(m), monc(mc), osdmap(om),
last_tid(0), client_inc(-1),
num_unacked(0), num_uncommitted(0),
- last_seen_version(0),
+ last_seen_osdmap_version(0),
+ last_seen_pgmap_version(0),
client_lock(l), timer(l)
{ }
~Objecter() { }