messenger = m;
// osd interfaces
- osdmap = new OSDMap; // initially blank.. see mount()
mdsmap = new MDSMap;
- objecter = new Objecter(cct, messenger, monclient, osdmap,
+ objecter = new Objecter(cct, messenger, monclient,
0, 0);
objecter->set_client_incarnation(0); // client always 0, for now.
writeback_handler = new ObjecterWriteback(objecter);
delete filer;
delete objecter;
- delete osdmap;
delete mdsmap;
delete logger;
#include "osdc/ObjectCacher.h"
class MDSMap;
-class OSDMap;
class MonClient;
class CephContext;
// cluster descriptors
MDSMap *mdsmap;
- OSDMap *osdmap;
SafeTimer timer;
ldout(cct, 1) << "starting objecter" << dendl;
err = -ENOMEM;
- objecter = new Objecter(cct, messenger, &monclient, &osdmap,
+ objecter = new Objecter(cct, messenger, &monclient,
cct->_conf->rados_mon_op_timeout,
cct->_conf->rados_osd_op_timeout);
if (!objecter)
#include "include/rados/librados.hpp"
#include "mon/MonClient.h"
#include "msg/Dispatcher.h"
-#include "osd/OSDMap.h"
#include "IoCtxImpl.h"
CONNECTED,
} state;
- OSDMap osdmap;
MonClient monclient;
SimpleMessenger *messenger;
#include "msg/Messenger.h"
#include "mon/MonClient.h"
-#include "osd/OSDMap.h"
#include "osdc/Objecter.h"
#include "osdc/Filer.h"
#include "osdc/Journaler.h"
monc->set_messenger(messenger);
mdsmap = new MDSMap;
- osdmap = new OSDMap;
- objecter = new Objecter(m->cct, messenger, monc, osdmap,
- 0, 0);
+ objecter = new Objecter(m->cct, messenger, monc, 0, 0);
objecter->unset_honor_osdmap_full();
filer = new Filer(objecter);
if (inotable) { delete inotable; inotable = NULL; }
if (snapserver) { delete snapserver; snapserver = NULL; }
if (snapclient) { delete snapclient; snapclient = NULL; }
- if (osdmap) { delete osdmap; osdmap = 0; }
if (mdsmap) { delete mdsmap; mdsmap = 0; }
if (server) { delete server; server = 0; }
class MonClient;
-class OSDMap;
class Objecter;
class Filer;
Messenger *messenger;
MonClient *monc;
MDSMap *mdsmap;
- OSDMap *osdmap;
Objecter *objecter;
Filer *filer; // for reading/writing to/from osds
LogClient clog;
int get_nodeid() { return whoami; }
uint64_t get_metadata_pool() { return mdsmap->get_metadata_pool(); }
MDSMap *get_mds_map() { return mdsmap; }
- OSDMap *get_osd_map() { return osdmap; }
void send_message_mds(Message *m, int mds);
void forward_message_mds(Message *req, int mds);
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, &objecter_osdmap,
- 0, 0)),
+ objecter(new Objecter(osd->client_messenger->cct, osd->objecter_messenger, osd->monc, 0, 0)),
objecter_finisher(osd->client_messenger->cct),
watch_lock("OSD::watch_lock"),
watch_timer(osd->client_messenger->cct, watch_lock),
// -- Objecter, for teiring reads/writes from/to other OSDs --
- OSDMap objecter_osdmap;
Objecter *objecter;
Finisher objecter_finisher;
public:
Objecter(CephContext *cct_, Messenger *m, MonClient *mc,
- OSDMap *om, double mon_timeout,
+ double mon_timeout,
double osd_timeout) :
Dispatcher(cct),
- messenger(m), monc(mc), osdmap(om), cct(cct_),
+ messenger(m), monc(mc),
+ osdmap(new OSDMap),
+ cct(cct_),
initialized(false),
last_tid(0), client_inc(-1), max_linger_id(0),
num_unacked(0), num_uncommitted(0),
op_throttle_ops(cct, "objecter_ops", cct->_conf->objecter_inflight_ops)
{ }
~Objecter() {
+ delete osdmap;
assert(!tick_event);
assert(!m_request_state_hook);
assert(!logger);
#include "osd/osd_types.h"
#include "osd/OSD.h"
-#include "osd/OSDMap.h"
#include "osdc/Objecter.h"
#include "mon/MonClient.h"
#include "msg/Dispatcher.h"
class ClientStub : public TestStub
{
- OSDMap osdmap;
ObjecterRef objecter;
rngen_t gen;
dout(10) << "ClientStub::" << __func__ << " starting messenger at "
<< messenger->get_myaddr() << dendl;
- objecter.reset(new Objecter(cct, messenger.get(), &monc, &osdmap, 0, 0));
+ objecter.reset(new Objecter(cct, messenger.get(), &monc, 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();
- osdmap = new OSDMap();
- objecter = new Objecter(g_ceph_context, messenger, monc, osdmap, 0, 0);
+ objecter = new Objecter(g_ceph_context, messenger, monc, 0, 0);
}
delete objecter;
delete monc;
delete messenger;
- delete osdmap;
delete mdsmap;
assert(waiting_for_mds_map == NULL);
}
#ifndef MDS_UTILITY_H_
#define MDS_UTILITY_H_
-#include "osd/OSDMap.h"
#include "osdc/Objecter.h"
#include "mds/MDSMap.h"
#include "messages/MMDSMap.h"
class MDSUtility : public Dispatcher {
protected:
Objecter *objecter;
- OSDMap *osdmap;
MDSMap *mdsmap;
Messenger *messenger;
MonClient *monc;