Only needed for watch/notify users, so most can pass NULL.
Signed-off-by: Sage Weil <sage@redhat.com>
// osd interfaces
mdsmap = new MDSMap;
- objecter = new Objecter(cct, messenger, monclient,
+ objecter = new Objecter(cct, messenger, monclient, NULL,
0, 0);
objecter->set_client_incarnation(0); // client always 0, for now.
writeback_handler = new ObjecterWriteback(objecter, &objecter_finisher,
err = -ENOMEM;
objecter = new Objecter(cct, messenger, &monclient,
+ &finisher,
cct->_conf->rados_mon_op_timeout,
cct->_conf->rados_osd_op_timeout);
if (!objecter)
mdsmap = new MDSMap;
- objecter = new Objecter(m->cct, messenger, monc, 0, 0);
+ objecter = new Objecter(m->cct, messenger, monc, NULL, 0, 0);
objecter->unset_honor_osdmap_full();
filer = new Filer(objecter, &finisher);
agent_stop_flag(false),
agent_timer_lock("OSD::agent_timer_lock"),
agent_timer(osd->client_messenger->cct, agent_timer_lock),
- objecter(new Objecter(osd->client_messenger->cct, osd->objecter_messenger, osd->monc, 0, 0)),
+ objecter(new Objecter(osd->client_messenger->cct, osd->objecter_messenger, osd->monc, NULL, 0, 0)),
objecter_finisher(osd->client_messenger->cct),
watch_lock("OSD::watch_lock"),
watch_timer(osd->client_messenger->cct, watch_lock),
#include "common/config.h"
#include "common/perf_counters.h"
+#include "common/Finisher.h"
#include "include/str_list.h"
#include "common/errno.h"
class OSDMap;
class MonClient;
class Message;
+class Finisher;
class MPoolOpReply;
public:
Messenger *messenger;
MonClient *monc;
+ Finisher *finisher;
private:
OSDMap *osdmap;
public:
public:
Objecter(CephContext *cct_, Messenger *m, MonClient *mc,
+ Finisher *fin,
double mon_timeout,
double osd_timeout) :
Dispatcher(cct),
- messenger(m), monc(mc),
+ messenger(m), monc(mc), finisher(fin),
osdmap(new OSDMap),
cct(cct_),
initialized(0),
dout(10) << "ClientStub::" << __func__ << " starting messenger at "
<< messenger->get_myaddr() << dendl;
- objecter.reset(new Objecter(cct, messenger.get(), &monc, 0, 0));
+ objecter.reset(new Objecter(cct, messenger.get(), &monc, NULL, 0, 0));
assert(objecter.get() != NULL);
objecter->set_balanced_budget();
monc = new MonClient(g_ceph_context);
messenger = Messenger::create(g_ceph_context, entity_name_t::CLIENT(), "mds", getpid());
mdsmap = new MDSMap();
- objecter = new Objecter(g_ceph_context, messenger, monc, 0, 0);
+ objecter = new Objecter(g_ceph_context, messenger, monc, NULL, 0, 0);
}