Internal interfaces.
Signed-off-by: Sage Weil <sage@newdream.net>
void usage();
int init_options(int argc, char **argv, int *fd, char **path, int *cmd,
int *stripe_unit, int *stripe_count,
- int *object_size, int *pool, int* osd, int *file_offset, bool *dir);
+ int *object_size, int64_t *pool, int* osd, int *file_offset, bool *dir);
int get_layout(int fd, struct ceph_ioctl_layout *layout);
int get_location(int fd, struct ceph_ioctl_dataloc *location);
int stripe_unit = 0;
int stripe_count = 0;
int object_size = 0;
- int pool = 0;
+ int64_t pool = 0;
int osd = -1;
int file_offset = 0;
bool dir = false;
int init_options(int argc, char **argv, int *fd, char **path, int *cmd,
int *stripe_unit, int *stripe_count,
- int *object_size, int *pool, int* osd, int *file_offset,
+ int *object_size, int64_t *pool, int* osd, int *file_offset,
bool *dir) {
// look through the options, make sure they're valid,
// and set the variables from them
// expose osdmap
-int Client::get_pool_replication(int pool)
+int Client::get_pool_replication(int64_t pool)
{
Mutex::Locker lock(client_lock);
if (!osdmap->have_pg_pool(pool))
// expose osdmap
int get_local_osd();
- int get_pool_replication(int pool);
+ int get_pool_replication(int64_t pool);
void set_default_file_stripe_unit(int stripe_unit);
void set_default_file_stripe_count(int count);
}
/* modifiers */
- int add_rule(int len, int pool, int type, int minsize, int maxsize, int ruleno) {
+ int add_rule(int len, int ruleset, int type, int minsize, int maxsize, int ruleno) {
if (!crush) return -ENOENT;
- crush_rule *n = crush_make_rule(len, pool, type, minsize, maxsize);
+ crush_rule *n = crush_make_rule(len, ruleset, type, minsize, maxsize);
ruleno = crush_add_rule(crush, n, ruleno);
return ruleno;
}
crush->max_devices = m;
}
- int find_rule(int pool, int type, int size) {
+ int find_rule(int ruleset, int type, int size) {
if (!crush) return -1;
- return crush_find_rule(crush, pool, type, size);
+ return crush_find_rule(crush, ruleset, type, size);
}
void do_rule(int rule, int x, vector<int>& out, int maxout, int forcefeed,
vector<__u32>& weight) {
extern void crush_finalize(struct crush_map *map);
/* rules */
-extern struct crush_rule *crush_make_rule(int len, int pool, int type, int minsize, int maxsize);
+extern struct crush_rule *crush_make_rule(int len, int ruleset, int type, int minsize, int maxsize);
extern void crush_rule_set_step(struct crush_rule *rule, int pos, int op, int arg1, int arg2);
extern int crush_add_rule(struct crush_map *map, struct crush_rule *rule, int ruleno);
#include "crush.h"
-extern int crush_find_rule(struct crush_map *map, int pool, int type, int size);
+extern int crush_find_rule(struct crush_map *map, int ruleset, int type, int size);
extern int crush_do_rule(struct crush_map *map,
int ruleno,
int x, int *result, int result_max,
int rados_ioctx_pool_stat(rados_ioctx_t io, struct rados_pool_stat_t *stats);
-int rados_pool_lookup(rados_t cluster, const char *pool_name);
+int64_t rados_pool_lookup(rados_t cluster, const char *pool_name);
int rados_pool_create(rados_t cluster, const char *pool_name);
int rados_pool_create_with_auid(rados_t cluster, const char *pool_name, uint64_t auid);
int rados_pool_create_with_crush_rule(rados_t cluster, const char *pool_name,
int pool_create_async(const char *name, uint64_t auid, __u8 crush_rule, PoolAsyncCompletion *c);
int pool_delete(const char *name);
int pool_delete_async(const char *name, PoolAsyncCompletion *c);
- int pool_lookup(const char *name);
+ int64_t pool_lookup(const char *name);
int ioctx_create(const char *name, IoCtx &pioctx);
struct librados::IoCtxImpl {
atomic_t ref_cnt;
RadosClient *client;
- int poolid;
+ int64_t poolid;
string pool_name;
snapid_t snap_seq;
::SnapContext snapc;
int connect();
void shutdown();
- int lookup_pool(const char *name) {
- int ret = osdmap.lookup_pg_pool_name(name);
+ int64_t lookup_pool(const char *name) {
+ int64_t ret = osdmap.lookup_pg_pool_name(name);
if (ret < 0)
return -ENOENT;
return ret;
}
- const char *get_pool_name(int poolid_)
+ const char *get_pool_name(int64_t poolid_)
{
return osdmap.get_pool_name(poolid_);
}
int librados::RadosClient::pool_list(std::list<std::string>& v)
{
Mutex::Locker l(lock);
- for (map<int,pg_pool_t>::const_iterator p = osdmap.get_pools().begin();
+ for (map<int64_t,pg_pool_t>::const_iterator p = osdmap.get_pools().begin();
p != osdmap.get_pools().end();
p++)
v.push_back(osdmap.get_pool_name(p->first));
int librados::RadosClient::snap_create(rados_ioctx_t io, const char *snapName)
{
int reply;
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
string sName(snapName);
Mutex mylock ("RadosClient::snap_create::mylock");
int librados::RadosClient::selfmanaged_snap_create(rados_ioctx_t io, uint64_t *psnapid)
{
int reply;
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
Mutex mylock("RadosClient::selfmanaged_snap_create::mylock");
Cond cond;
int librados::RadosClient::snap_remove(rados_ioctx_t io, const char *snapName)
{
int reply;
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
string sName(snapName);
Mutex mylock ("RadosClient::snap_remove::mylock");
string sName(snapName);
snapid_t snap;
- const map<int, pg_pool_t>& pools = objecter->osdmap->get_pools();
+ const map<int64_t, pg_pool_t>& pools = objecter->osdmap->get_pools();
const pg_pool_t& pg_pool = pools.find(io->poolid)->second;
map<snapid_t, pool_snap_info_t>::const_iterator p;
for (p = pg_pool.snaps.begin();
int librados::RadosClient::selfmanaged_snap_remove(rados_ioctx_t io, uint64_t snapid)
{
int reply;
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
Mutex mylock("RadosClient::selfmanaged_snap_remove::mylock");
Cond cond;
{
int reply;
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
Mutex mylock("RadosClient::pool_change_auid::mylock");
Cond cond;
int librados::RadosClient::pool_change_auid_async(rados_ioctx_t io, unsigned long long auid,
PoolAsyncCompletionImpl *c)
{
- int poolID = ((IoCtxImpl *)io)->poolid;
+ int64_t poolID = ((IoCtxImpl *)io)->poolid;
Mutex::Locker l(lock);
objecter->change_pool_auid(poolID,
int librados::RadosClient::pool_get_auid(rados_ioctx_t io, unsigned long long *auid)
{
Mutex::Locker l(lock);
- int pool_id = ((IoCtxImpl *)io)->poolid;
+ int64_t pool_id = ((IoCtxImpl *)io)->poolid;
const pg_pool_t *pg = osdmap.get_pg_pool(pool_id);
if (!pg)
return -ENOENT;
return client->pool_list(v);
}
-int librados::Rados::pool_lookup(const char *name)
+int64_t librados::Rados::pool_lookup(const char *name)
{
return client->lookup_pool(name);
}
return conf->get_val(option, &tmp, len);
}
-extern "C" int rados_pool_lookup(rados_t cluster, const char *name)
+extern "C" int64_t rados_pool_lookup(rados_t cluster, const char *name)
{
librados::RadosClient *radosp = (librados::RadosClient *)cluster;
return radosp->lookup_pool(name);
extern "C" int rados_ioctx_create(rados_t cluster, const char *name, rados_ioctx_t *io)
{
librados::RadosClient *radosp = (librados::RadosClient *)cluster;
- int poolid = radosp->lookup_pool(name);
+ int64_t poolid = radosp->lookup_pool(name);
if (poolid >= 0) {
librados::IoCtxImpl *ctx = new librados::IoCtxImpl(radosp, poolid, name, CEPH_NOSNAP);
if (!ctx)
ctx->get();
return 0;
}
- return poolid;
+ return 0;
}
extern "C" void rados_ioctx_destroy(rados_ioctx_t io)
}
}
} else if (m->cmd[1] == "add_data_pool" && m->cmd.size() == 3) {
- int poolid = atoi(m->cmd[2].c_str());
+ int64_t poolid = atoi(m->cmd[2].c_str());
pending_mdsmap.add_data_pg_pool(poolid);
ss << "added data pool " << poolid << " to mdsmap";
r = 0;
} else if (m->cmd[1] == "remove_data_pool" && m->cmd.size() == 3) {
- int poolid = atoi(m->cmd[2].c_str());
+ int64_t poolid = atoi(m->cmd[2].c_str());
r = pending_mdsmap.remove_data_pg_pool(poolid);
if (r == 0)
ss << "removed data pool " << poolid << " from mdsmap";
// For all PGs that have OSD 0 as the primary,
// switch them to use the first replca
ps_t numps = osdmap.get_pg_num();
- for (int pool=0; pool<1; pool++)
+ for (int64_t pool=0; pool<1; pool++)
for (ps_t ps = 0; ps < numps; ++ps) {
pg_t pgid = pg_t(pg_t::TYPE_REP, ps, pool, -1);
vector<int> osds;
if (m->cmd.size() > 2) {
uid_pools = strtol(m->cmd[2].c_str(), NULL, 10);
}
- for (map<int, pg_pool_t>::iterator p = osdmap.pools.begin();
- p !=osdmap.pools.end();
+ for (map<int64_t, pg_pool_t>::iterator p = osdmap.pools.begin();
+ p != osdmap.pools.end();
++p) {
if (!uid_pools || p->second.v.auid == uid_pools) {
ss << p->first << ' ' << osdmap.pool_name[p->first] << ',';
}
if (-1 == pending_inc.new_pool_max)
pending_inc.new_pool_max = osdmap.pool_max;
- int pool = ++pending_inc.new_pool_max;
+ int64_t pool = ++pending_inc.new_pool_max;
pending_inc.new_pools[pool].v.type = CEPH_PG_TYPE_REP;
pending_inc.new_pools[pool].v.size = g_conf->osd_pool_default_size;
}
else if (m->cmd[1] == "pool" && m->cmd.size() >= 3) {
if (m->cmd.size() >= 5 && m->cmd[2] == "mksnap") {
- int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
if (pool < 0) {
ss << "unrecognized pool '" << m->cmd[3] << "'";
err = -ENOENT;
}
}
else if (m->cmd.size() >= 5 && m->cmd[2] == "rmsnap") {
- int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
if (pool < 0) {
ss << "unrecognized pool '" << m->cmd[3] << "'";
err = -ENOENT;
return true;
} else if (m->cmd[2] == "delete" && m->cmd.size() >= 4) {
//hey, let's delete a pool!
- int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
if (pool < 0) {
ss << "unrecognized pool '" << m->cmd[3] << "'";
err = -ENOENT;
ss << "usage: osd pool set <poolname> <field> <value>";
goto out;
}
- int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
if (pool < 0) {
ss << "unrecognized pool '" << m->cmd[3] << "'";
err = -ENOENT;
ss << "usage: osd pool get <poolname> <field>";
goto out;
}
- int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
if (pool < 0) {
ss << "unrecognized pool '" << m->cmd[3] << "'";
err = -ENOENT;
return true;
}
- int pool = osdmap.lookup_pg_pool_name(m->name.c_str());
+ int64_t pool = osdmap.lookup_pg_pool_name(m->name.c_str());
if (pool >= 0) {
_pool_op_reply(m, -EEXIST, osdmap.get_epoch());
return true;
for (list<string>::iterator p = m->pools.begin();
p != m->pools.end();
p++) {
- int poolid = mon->osdmon()->osdmap.lookup_pg_pool_name(p->c_str());
+ int64_t poolid = mon->osdmon()->osdmap.lookup_pg_pool_name(p->c_str());
if (poolid < 0)
continue;
if (pg_map.pg_pool_sum.count(poolid) == 0)
OSDMap *osdmap = &mon->osdmon()->osdmap;
int created = 0;
- for (map<int,pg_pool_t>::iterator p = osdmap->pools.begin();
+ for (map<int64_t,pg_pool_t>::iterator p = osdmap->pools.begin();
p != osdmap->pools.end();
p++) {
- int poolid = p->first;
+ int64_t poolid = p->first;
pg_pool_t &pool = p->second;
int ruleno = pool.get_crush_ruleset();
if (!osdmap->crush.rule_exists(ruleno))
// calc actual pgid
pg_t pgid = op->get_pg();
- int pool = pgid.pool();
+ int64_t pool = pgid.pool();
if ((op->get_flags() & CEPH_OSD_FLAG_PGOP) == 0 &&
osdmap->have_pg_pool(pool))
pgid = osdmap->raw_pg_to_pg(pgid);
f->dump_int("max_osd", get_max_osd());
f->open_array_section("pools");
- for (map<int,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
+ for (map<int64_t,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
f->open_object_section("pool");
f->dump_int("pool", p->first);
p->second.dump(f);
out << "cluster_snapshot " << get_cluster_snapshot() << "\n";
out << "\n";
- for (map<int,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
+ for (map<int64_t,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
std::string name("<unknown>");
map<int32_t,string>::const_iterator pni = pool_name.find(p->first);
if (pni != pool_name.end())
rulesets[CEPH_RBD_RULE] = "rbd";
for (map<int,const char*>::iterator p = rulesets.begin(); p != rulesets.end(); p++) {
- int pool = ++pool_max;
+ int64_t pool = ++pool_max;
pools[pool].v.type = CEPH_PG_TYPE_REP;
pools[pool].v.size = cct->_conf->osd_pool_default_size;
pools[pool].v.crush_ruleset = p->first;
vector<osd_info_t> osd_info;
map<pg_t,vector<int> > pg_temp; // temp pg mapping (e.g. while we rebuild)
- map<int,pg_pool_t> pools;
+ map<int64_t,pg_pool_t> pools;
map<int32_t,string> pool_name;
- map<string,int> name_pool;
+ map<string,int64_t> name_pool;
hash_map<entity_addr_t,utime_t> blacklist;
void set_epoch(epoch_t e) {
epoch = e;
- for (map<int,pg_pool_t>::iterator p = pools.begin();
+ for (map<int64_t,pg_pool_t>::iterator p = pools.begin();
p != pools.end();
p++)
p->second.v.last_change = e;
// index pool names
name_pool.clear();
- for (map<int,string>::iterator i = pool_name.begin(); i != pool_name.end(); i++)
+ for (map<int32_t,string>::iterator i = pool_name.begin(); i != pool_name.end(); i++)
name_pool[i->second] = i->first;
calc_num_osds();
acting = up;
}
- int lookup_pg_pool_name(const char *name) {
+ int64_t lookup_pg_pool_name(const char *name) {
if (name_pool.count(name))
return name_pool[name];
- return -1;
+ return -ENOENT;
}
- const map<int,pg_pool_t>& get_pools() { return pools; }
- const char *get_pool_name(int p) {
+ const map<int64_t,pg_pool_t>& get_pools() { return pools; }
+ const char *get_pool_name(int64_t p) {
if (pool_name.count(p))
return pool_name[p].c_str();
return 0;
}
- bool have_pg_pool(int p) const {
+ bool have_pg_pool(int64_t p) const {
return pools.count(p);
}
- const pg_pool_t* get_pg_pool(int p) {
- if(pools.count(p))
+ const pg_pool_t* get_pg_pool(int64_t p) {
+ if (pools.count(p))
return &pools[p];
return NULL;
}
unsigned get_pg_size(pg_t pg) const {
- map<int,pg_pool_t>::const_iterator p = pools.find(pg.pool());
+ map<int64_t,pg_pool_t>::const_iterator p = pools.find(pg.pool());
assert(p != pools.end());
return p->second.get_size();
}
private:
// me
inodeno_t ino;
- unsigned pg_pool;
+ int64_t pg_pool;
bool readonly;
ceph_file_layout layout;
}
public:
- Journaler(inodeno_t ino_, int pool, const char *mag, Objecter *obj, PerfCounters *l, int lkey, SafeTimer *tim) :
+ Journaler(inodeno_t ino_, int64_t pool, const char *mag, Objecter *obj, PerfCounters *l, int lkey, SafeTimer *tim) :
cct(obj->cct), last_written(mag), last_committed(mag),
ino(ino_), pg_pool(pool), readonly(true), magic(mag),
objecter(obj), filer(objecter), logger(l), logger_key_lat(lkey),
onfinish);
}
-void ObjectCacher::bh_read_finish(int poolid, sobject_t oid, loff_t start, uint64_t length, bufferlist &bl)
+void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start, uint64_t length, bufferlist &bl)
{
//lock.Lock();
ldout(cct, 7) << "bh_read_finish "
mark_tx(bh);
}
-void ObjectCacher::lock_ack(int poolid, list<sobject_t>& oids, tid_t tid)
+void ObjectCacher::lock_ack(int64_t poolid, list<sobject_t>& oids, tid_t tid)
{
for (list<sobject_t>::iterator i = oids.begin();
i != oids.end();
}
}
-void ObjectCacher::bh_write_commit(int poolid, sobject_t oid, loff_t start, uint64_t length, tid_t tid)
+void ObjectCacher::bh_write_commit(int64_t poolid, sobject_t oid, loff_t start, uint64_t length, tid_t tid)
{
//lock.Lock();
inodeno_t ino;
uint64_t truncate_seq, truncate_size;
- int poolid;
+ int64_t poolid;
xlist<Object*> objects;
int dirty_or_tx;
- ObjectSet(void *p, int _poolid, inodeno_t i) : parent(p), ino(i), truncate_seq(0),
- truncate_size(0), poolid(_poolid), dirty_or_tx(0) {}
+ ObjectSet(void *p, int64_t _poolid, inodeno_t i)
+ : parent(p), ino(i), truncate_seq(0),
+ truncate_size(0), poolid(_poolid), dirty_or_tx(0) {}
};
void wrunlock(Object *o);
public:
- void bh_read_finish(int poolid, sobject_t oid, loff_t offset, uint64_t length, bufferlist &bl);
- void bh_write_commit(int poolid, sobject_t oid, loff_t offset, uint64_t length, tid_t t);
- void lock_ack(int poolid, list<sobject_t>& oids, tid_t tid);
+ void bh_read_finish(int64_t poolid, sobject_t oid, loff_t offset, uint64_t length, bufferlist &bl);
+ void bh_write_commit(int64_t poolid, sobject_t oid, loff_t offset, uint64_t length, tid_t t);
+ void lock_ack(int64_t poolid, list<sobject_t>& oids, tid_t tid);
class C_ReadFinish : public Context {
ObjectCacher *oc;
- int poolid;
+ int64_t poolid;
sobject_t oid;
loff_t start;
uint64_t length;
class C_WriteCommit : public Context {
ObjectCacher *oc;
- int poolid;
+ int64_t poolid;
sobject_t oid;
loff_t start;
uint64_t length;
public:
tid_t tid;
- C_WriteCommit(ObjectCacher *c, int _poolid, sobject_t o, loff_t s, uint64_t l) :
+ C_WriteCommit(ObjectCacher *c, int64_t _poolid, sobject_t o, loff_t s, uint64_t l) :
oc(c), poolid(_poolid), oid(o), start(s), length(l) {}
void finish(int r) {
oc->bh_write_commit(poolid, oid, start, length, tid);
class C_LockAck : public Context {
ObjectCacher *oc;
public:
- int poolid;
+ int64_t poolid;
list<sobject_t> oids;
tid_t tid;
- C_LockAck(ObjectCacher *c, int _poolid, sobject_t o) : oc(c), poolid(_poolid) {
+ C_LockAck(ObjectCacher *c, int64_t _poolid, sobject_t o) : oc(c), poolid(_poolid) {
oids.push_back(o);
}
void finish(int r) {
//snapshots
-int Objecter::create_pool_snap(int pool, string& snapName, Context *onfinish) {
+int Objecter::create_pool_snap(int64_t pool, string& snapName, Context *onfinish) {
ldout(cct, 10) << "create_pool_snap; pool: " << pool << "; snap: " << snapName << dendl;
PoolOp *op = new PoolOp;
if (!op)
}
};
-int Objecter::allocate_selfmanaged_snap(int pool, snapid_t *psnapid,
+int Objecter::allocate_selfmanaged_snap(int64_t pool, snapid_t *psnapid,
Context *onfinish)
{
ldout(cct, 10) << "allocate_selfmanaged_snap; pool: " << pool << dendl;
return 0;
}
-int Objecter::delete_pool_snap(int pool, string& snapName, Context *onfinish)
+int Objecter::delete_pool_snap(int64_t pool, string& snapName, Context *onfinish)
{
ldout(cct, 10) << "delete_pool_snap; pool: " << pool << "; snap: " << snapName << dendl;
PoolOp *op = new PoolOp;
return 0;
}
-int Objecter::delete_selfmanaged_snap(int pool, snapid_t snap,
+int Objecter::delete_selfmanaged_snap(int64_t pool, snapid_t snap,
Context *onfinish) {
ldout(cct, 10) << "delete_selfmanaged_snap; pool: " << pool << "; snap: "
<< snap << dendl;
return 0;
}
-int Objecter::delete_pool(int pool, Context *onfinish)
+int Objecter::delete_pool(int64_t pool, Context *onfinish)
{
ldout(cct, 10) << "delete_pool " << pool << dendl;
* on both the pool's current auid and the new (parameter) auid.
* Uses the standard Context callback when done.
*/
-int Objecter::change_pool_auid(int pool, Context *onfinish, uint64_t auid)
+int Objecter::change_pool_auid(int64_t pool, Context *onfinish, uint64_t auid)
{
ldout(cct, 10) << "change_pool_auid " << pool << " to " << auid << dendl;
PoolOp *op = new PoolOp;
int starting_pg_num;
bool at_end;
- int pool_id;
+ int64_t pool_id;
int pool_snap_seq;
int max_entries;
std::list<object_t> list;
struct PoolOp {
tid_t tid;
- int pool;
+ int64_t pool;
string name;
Context *onfinish;
int pool_op;
private:
void pool_op_submit(PoolOp *op);
public:
- int create_pool_snap(int pool, string& snapName, Context *onfinish);
- int allocate_selfmanaged_snap(int pool, snapid_t *psnapid, Context *onfinish);
- int delete_pool_snap(int pool, string& snapName, Context *onfinish);
- int delete_selfmanaged_snap(int pool, snapid_t snap, Context *onfinish);
+ int create_pool_snap(int64_t pool, string& snapName, Context *onfinish);
+ int allocate_selfmanaged_snap(int64_t pool, snapid_t *psnapid, Context *onfinish);
+ int delete_pool_snap(int64_t pool, string& snapName, Context *onfinish);
+ int delete_selfmanaged_snap(int64_t pool, snapid_t snap, Context *onfinish);
int create_pool(string& name, Context *onfinish, uint64_t auid=0,
int crush_rule=-1);
- int delete_pool(int pool, Context *onfinish);
- int change_pool_auid(int pool, Context *onfinish, uint64_t auid);
+ int delete_pool(int64_t pool, Context *onfinish);
+ int change_pool_auid(int64_t pool, Context *onfinish, uint64_t auid);
void handle_pool_op_reply(MPoolOpReply *m);
cout << "pass " << ++pass << std::endl;
hash_map<pg_t,vector<int> > m;
- for (map<int,pg_pool_t>::const_iterator p = osdmap.get_pools().begin();
+ for (map<int64_t,pg_pool_t>::const_iterator p = osdmap.get_pools().begin();
p != osdmap.get_pools().end();
p++) {
const pg_pool_t *pool = osdmap.get_pg_pool(p->first);
}
-int rgw_store_pool_info(int pool_id, RGWPoolInfo& pool_info)
+int rgw_store_pool_info(int64_t pool_id, RGWPoolInfo& pool_info)
{
bufferlist bl;
string uid;
char buf[16];
- snprintf(buf, sizeof(buf), "%d", pool_id);
+ snprintf(buf, sizeof(buf), "%lld", (long long unsigned)pool_id);
string pool_id_str(buf);
int ret = rgw_put_obj(uid, pi_pool_bucket, pool_id_str, bl.c_str(), bl.length());
return ret;
}
-int rgw_retrieve_pool_info(int pool_id, RGWPoolInfo& pool_info)
+int rgw_retrieve_pool_info(int64_t pool_id, RGWPoolInfo& pool_info)
{
bufferlist bl;
char buf[16];
- snprintf(buf, sizeof(buf), "%d", pool_id);
+ snprintf(buf, sizeof(buf), "%lld", (long long unsigned)pool_id);
string pool_id_str(buf);
int ret = rgw_get_obj(pi_pool_bucket, pool_id_str, bl);
extern int rgw_remove_email_index(string& uid, string& email);
extern int rgw_remove_openstack_name_index(string& uid, string& openstack_name);
-extern int rgw_store_pool_info(int pool_id, RGWPoolInfo& pool_info);
-extern int rgw_retrieve_pool_info(int pool_id, RGWPoolInfo& pool_info);
+extern int rgw_store_pool_info(int64_t pool_id, RGWPoolInfo& pool_info);
+extern int rgw_retrieve_pool_info(int64_t pool_id, RGWPoolInfo& pool_info);
#endif
ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));
}
-int rados_pool_lookup(rados_t cluster, const char *pool_name);
+int64_t rados_pool_lookup(rados_t cluster, const char *pool_name);
TEST(LibRadosPools, PoolLookup) {
rados_t cluster;
rados_t cluster;
std::string pool_name = get_temp_pool_name();
ASSERT_EQ("", create_one_pool(pool_name, &cluster));
- int pool_id = rados_pool_lookup(cluster, pool_name.c_str());
+ int64_t pool_id = rados_pool_lookup(cluster, pool_name.c_str());
ASSERT_GT(pool_id, 0);
rados_ioctx_t ioctx;
ASSERT_EQ(0, rados_ioctx_create(cluster, pool_name.c_str(), &ioctx));
- int pool_id2 = rados_ioctx_get_id(ioctx);
+ int64_t pool_id2 = rados_ioctx_get_id(ioctx);
ASSERT_EQ(pool_id, pool_id2);
rados_ioctx_destroy(ioctx);
ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));