struct PGTempMap {
#if 1
ceph::buffer::list data;
- typedef btree::btree_map<pg_t,int32_t*> map_t;
+ typedef btree::btree_map<pg_t,ceph_le32*> map_t;
map_t map;
void encode(ceph::buffer::list& bl) const {
encode(n, bl);
for (auto &p : map) {
encode(p.first, bl);
- bl.append((char*)p.second, (*p.second + 1) * sizeof(int32_t));
+ bl.append((char*)p.second, (*p.second + 1) * sizeof(ceph_le32));
}
}
void decode(ceph::buffer::list::const_iterator& p) {
//map.reserve(n);
char *start = data.c_str();
for (auto i : offsets) {
- map.insert(map.end(), std::make_pair(i.first, (int32_t*)(start + i.second)));
+ map.insert(map.end(), std::make_pair(i.first, (ceph_le32*)(start + i.second)));
}
}
void rebuild() {
current.first = it->first;
ceph_assert(it->second);
current.second.resize(*it->second);
- int32_t *p = it->second + 1;
- for (int n = 0; n < *it->second; ++n, ++p) {
+ ceph_le32 *p = it->second + 1;
+ for (uint32_t n = 0; n < *it->second; ++n, ++p) {
current.second[n] = *p;
}
}
}
void set(pg_t pgid, const mempool::osdmap::vector<int32_t>& v) {
using ceph::encode;
- size_t need = sizeof(int32_t) * (1 + v.size());
+ size_t need = sizeof(ceph_le32) * (1 + v.size());
if (need < data.get_append_buffer_unused_tail_length()) {
ceph::buffer::ptr z(data.get_append_buffer_unused_tail_length());
z.zero();
data.append(z.c_str(), z.length());
}
encode(v, data);
- map[pgid] = (int32_t*)(data.back().end_c_str()) - (1 + v.size());
+ map[pgid] = (ceph_le32*)(data.back().end_c_str()) - (1 + v.size());
}
mempool::osdmap::vector<int32_t> get(pg_t pgid) {
mempool::osdmap::vector<int32_t> v;
- int32_t *p = map[pgid];
+ ceph_le32 *p = map[pgid];
size_t n = *p++;
v.resize(n);
for (size_t i = 0; i < n; ++i, ++p) {