// start by reading the first hunk of it
C_Dir_Fetch *fin = new C_Dir_Fetch(this, want_dn);
object_t oid = get_ondisk_object();
- object_locator_t oloc(cache->mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(cache->mds->mdsmap->get_metadata_pool());
ObjectOperation rd;
rd.tmap_get(&fin->bl, NULL);
cache->mds->objecter->read(oid, oloc, rd, CEPH_NOSNAP, NULL, 0, fin);
SnapContext snapc;
object_t oid = get_ondisk_object();
- object_locator_t oloc(cache->mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(cache->mds->mdsmap->get_metadata_pool());
m.priority = CEPH_MSG_PRIO_LOW; // set priority lower than journal!
m.write_full(bl);
object_t oid = CInode::get_object_name(ino(), frag_t(), ".inode");
- object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pool());
mdcache->mds->objecter->mutate(oid, oloc, m, snapc, ceph_clock_now(g_ceph_context), 0,
NULL, new C_Inode_Stored(this, get_version(), fin) );
C_GatherBuilder gather(g_ceph_context, c);
object_t oid = CInode::get_object_name(ino(), frag_t(), "");
- object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pool());
ObjectOperation rd;
rd.getxattr("inode", &c->bl, NULL);
SnapContext snapc;
object_t oid = get_object_name(ino(), frag_t(), "");
- object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mdcache->mds->mdsmap->get_metadata_pool());
mdcache->mds->objecter->mutate(oid, oloc, m, snapc, ceph_clock_now(g_ceph_context), 0,
NULL, new C_Inode_StoredParent(this, inode.last_renamed_version, fin) );
void MDCache::init_layouts()
{
default_file_layout = g_default_file_layout;
- default_file_layout.fl_pg_pool = mds->mdsmap->get_data_pg_pool();
+ default_file_layout.fl_pg_pool = mds->mdsmap->get_data_pool();
default_log_layout = g_default_file_layout;
- default_log_layout.fl_pg_pool = mds->mdsmap->get_metadata_pg_pool();
+ default_log_layout.fl_pg_pool = mds->mdsmap->get_metadata_pool();
}
CInode *MDCache::create_system_inode(inodeno_t ino, int mode)
CInode *i = create_system_inode(MDS_INO_ROOT, S_IFDIR|0755);
i->default_layout = new struct default_file_layout;
i->default_layout->layout = default_file_layout;
- i->default_layout->layout.fl_pg_pool = mds->mdsmap->get_data_pg_pool();
+ i->default_layout->layout.fl_pg_pool = mds->mdsmap->get_data_pool();
return i;
}
void MDCache::purge_prealloc_ino(inodeno_t ino, Context *fin)
{
object_t oid = CInode::get_object_name(ino, frag_t(), "");
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
dout(10) << "purge_prealloc_ino " << ino << " oid " << oid << dendl;
SnapContext snapc;
// get the backtrace from the dir
object_t oid = CInode::get_object_name(ino, frag_t(), "");
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
C_MDS_FindInoDir *c = new C_MDS_FindInoDir(this, ino, fin);
mds->objecter->getxattr(oid, oloc, "path", CEPH_NOSNAP, &c->bl, 0, c);
// log streamer
if (journaler) delete journaler;
- journaler = new Journaler(ino, mds->mdsmap->get_metadata_pg_pool(), CEPH_FS_ONDISK_MAGIC, mds->objecter,
+ journaler = new Journaler(ino, mds->mdsmap->get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, mds->objecter,
logger, l_mdl_jlat,
&mds->timer);
assert(journaler->is_readonly());
}
f->close_section();
f->open_array_section("data_pools");
- for (vector<int64_t>::const_iterator p = data_pg_pools.begin(); p != data_pg_pools.end(); ++p)
+ for (vector<int64_t>::const_iterator p = data_pools.begin(); p != data_pools.end(); ++p)
f->dump_int("pool", *p);
f->close_section();
- f->dump_int("metadata_pool", metadata_pg_pool);
+ f->dump_int("metadata_pool", metadata_pool);
}
void MDSMap::print(ostream& out)
<< "up\t" << up << "\n"
<< "failed\t" << failed << "\n"
<< "stopped\t" << stopped << "\n";
- out << "data_pools\t" << data_pg_pools << "\n";
- out << "metadata_pool\t" << metadata_pg_pool << "\n";
+ out << "data_pools\t" << data_pools << "\n";
+ out << "metadata_pool\t" << metadata_pool << "\n";
multimap< pair<unsigned,unsigned>, uint64_t > foo;
for (map<uint64_t,mds_info_t>::iterator p = mds_info.begin();
__u32 session_autoclose;
uint64_t max_file_size;
- vector<int64_t> data_pg_pools; // file data pg_pools available to clients (via an ioctl). first is the default.
- int64_t cas_pg_pool; // where CAS objects go
- int64_t metadata_pg_pool; // where fs metadata objects go
+ vector<int64_t> data_pools; // file data pools available to clients (via an ioctl). first is the default.
+ int64_t cas_pool; // where CAS objects go
+ int64_t metadata_pool; // where fs metadata objects go
/*
* in: the set of logical mds #'s that define the cluster. this is the set
session_timeout(0),
session_autoclose(0),
max_file_size(0),
- cas_pg_pool(-1),
- metadata_pg_pool(0),
+ cas_pool(-1),
+ metadata_pool(0),
max_mds(0)
{ }
int get_tableserver() const { return tableserver; }
int get_root() const { return root; }
- const vector<int64_t> &get_data_pg_pools() const { return data_pg_pools; }
- int64_t get_data_pg_pool() const { return data_pg_pools[0]; }
- int64_t get_cas_pg_pool() const { return cas_pg_pool; }
- int64_t get_metadata_pg_pool() const { return metadata_pg_pool; }
- bool is_data_pg_pool(int64_t poolid) const {
- return std::find(data_pg_pools.begin(), data_pg_pools.end(), poolid) != data_pg_pools.end();
+ const vector<int64_t> &get_data_pools() const { return data_pools; }
+ int64_t get_data_pool() const { return data_pools[0]; }
+ int64_t get_cas_pool() const { return cas_pool; }
+ int64_t get_metadata_pool() const { return metadata_pool; }
+ bool is_data_pool(int64_t poolid) const {
+ return std::find(data_pools.begin(), data_pools.end(), poolid) != data_pools.end();
}
const map<uint64_t,mds_info_t>& get_mds_info() { return mds_info; }
}
// data pools
- void add_data_pg_pool(int64_t poolid) {
- data_pg_pools.push_back(poolid);
+ void add_data_pool(int64_t poolid) {
+ data_pools.push_back(poolid);
}
- int remove_data_pg_pool(int64_t poolid) {
- for (vector<int64_t>::iterator p = data_pg_pools.begin();
- p != data_pg_pools.end();
+ int remove_data_pool(int64_t poolid) {
+ for (vector<int64_t>::iterator p = data_pools.begin();
+ p != data_pools.end();
++p) {
if (*p == poolid) {
- data_pg_pools.erase(p);
+ data_pools.erase(p);
return 0;
}
}
::encode(max_file_size, bl);
::encode(max_mds, bl);
::encode(mds_info, bl);
- __u32 n = data_pg_pools.size();
+ __u32 n = data_pools.size();
::encode(n, bl);
- for (vector<int64_t>::const_iterator p = data_pg_pools.begin(); p != data_pg_pools.end(); ++p) {
+ for (vector<int64_t>::const_iterator p = data_pools.begin(); p != data_pools.end(); ++p) {
n = *p;
::encode(n, bl);
}
- int32_t m = cas_pg_pool;
+ int32_t m = cas_pool;
::encode(m, bl);
}
void encode(bufferlist& bl) const {
::encode(max_file_size, bl);
::encode(max_mds, bl);
::encode(mds_info, bl);
- ::encode(data_pg_pools, bl);
- ::encode(cas_pg_pool, bl);
+ ::encode(data_pools, bl);
+ ::encode(cas_pool, bl);
// kclient ignores everything from here
__u16 ev = 5;
::encode(ev, bl);
::encode(compat, bl);
- ::encode(metadata_pg_pool, bl);
+ ::encode(metadata_pool, bl);
::encode(created, bl);
::encode(modified, bl);
::encode(tableserver, bl);
while (n--) {
__u32 m;
::decode(m, p);
- data_pg_pools.push_back(m);
+ data_pools.push_back(m);
}
__s32 s;
::decode(s, p);
- cas_pg_pool = s;
+ cas_pool = s;
} else {
- ::decode(data_pg_pools, p);
- ::decode(cas_pg_pool, p);
+ ::decode(data_pools, p);
+ ::decode(cas_pool, p);
}
// kclient ignores everything from here
if (ev < 5) {
__u32 n;
::decode(n, p);
- metadata_pg_pool = n;
+ metadata_pool = n;
} else {
- ::decode(metadata_pg_pool, p);
+ ::decode(metadata_pool, p);
}
::decode(created, p);
::decode(modified, p);
// write (async)
SnapContext snapc;
object_t oid = get_object_name();
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
mds->objecter->write_full(oid, oloc,
snapc,
bl, ceph_clock_now(g_ceph_context), 0,
C_MT_Load *c = new C_MT_Load(this, onfinish);
object_t oid = get_object_name();
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
mds->objecter->read_full(oid, oloc, CEPH_NOSNAP, &c->bl, 0, c);
}
return;
}
if (!mds->osdmap->have_pg_pool(layout.fl_pg_pool) ||
- !mds->mdsmap->is_data_pg_pool(layout.fl_pg_pool)) {
+ !mds->mdsmap->is_data_pool(layout.fl_pg_pool)) {
dout(10) << " invalid data pool " << layout.fl_pg_pool << dendl;
reply_request(mdr, -EINVAL);
return;
return;
}
if (!mds->osdmap->have_pg_pool(layout.fl_pg_pool) ||
- !mds->mdsmap->is_data_pg_pool(layout.fl_pg_pool)) {
+ !mds->mdsmap->is_data_pool(layout.fl_pg_pool)) {
dout(10) << " invalid data pool " << layout.fl_pg_pool << dendl;
reply_request(mdr, -EINVAL);
return;
return;
}
if (!mds->osdmap->have_pg_pool(layout->layout.fl_pg_pool) ||
- !mds->mdsmap->is_data_pg_pool(layout->layout.fl_pg_pool)) {
+ !mds->mdsmap->is_data_pool(layout->layout.fl_pg_pool)) {
dout(10) << " invalid data pool " << layout->layout.fl_pg_pool << dendl;
reply_request(mdr, -EINVAL);
delete layout;
C_SM_Load *c = new C_SM_Load(this);
object_t oid = get_object_name();
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
mds->objecter->read_full(oid, oloc, CEPH_NOSNAP, &c->bl, 0, c);
}
committing = version;
SnapContext snapc;
object_t oid = get_object_name();
- object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
+ object_locator_t oloc(mds->mdsmap->get_metadata_pool());
mds->objecter->write_full(oid, oloc,
snapc,
dout(7) << "commit " << tid << " destroy " << sn << " seq " << seq << dendl;
snaps.erase(sn);
- for (vector<int64_t>::const_iterator p = mds->mdsmap->get_data_pg_pools().begin();
- p != mds->mdsmap->get_data_pg_pools().end();
+ for (vector<int64_t>::const_iterator p = mds->mdsmap->get_data_pools().begin();
+ p != mds->mdsmap->get_data_pools().end();
p++) {
need_to_purge[*p].insert(sn);
need_to_purge[*p].insert(seq);
{
m.max_mds = g_conf->max_mds;
m.created = ceph_clock_now(g_ceph_context);
- m.data_pg_pools.push_back(data_pool);
- m.metadata_pg_pool = metadata_pool;
- m.cas_pg_pool = -1;
+ m.data_pools.push_back(data_pool);
+ m.metadata_pool = metadata_pool;
+ m.cas_pool = -1;
m.compat = get_mdsmap_compat_set();
m.session_timeout = g_conf->mds_session_timeout;
int64_t poolid = parse_pos_long(m->cmd[2].c_str(), &ss);
if (poolid < 0)
goto out;
- pending_mdsmap.add_data_pg_pool(poolid);
+ pending_mdsmap.add_data_pool(poolid);
ss << "added data pool " << poolid << " to mdsmap";
r = 0;
} else if (m->cmd[1] == "remove_data_pool" && m->cmd.size() == 3) {
int64_t poolid = parse_pos_long(m->cmd[2].c_str(), &ss);
if (poolid < 0)
goto out;
- r = pending_mdsmap.remove_data_pg_pool(poolid);
+ r = pending_mdsmap.remove_data_pool(poolid);
if (r == 0)
ss << "removed data pool " << poolid << " from mdsmap";
} else if (m->cmd[1] == "newfs" && m->cmd.size() >= 4) {