const std::vector<snapid_t> &ids,
std::vector<string> *names,
std::vector<uint64_t> *sizes,
- std::vector<uint64_t> *features,
std::vector<parent_info> *parents,
std::vector<uint8_t> *protection_statuses)
{
names->resize(ids.size());
sizes->clear();
sizes->resize(ids.size());
- features->clear();
- features->resize(ids.size());
parents->clear();
parents->resize(ids.size());
protection_statuses->clear();
for (vector<snapid_t>::const_iterator it = ids.begin();
it != ids.end(); ++it) {
snapid_t snap_id = it->val;
- bufferlist bl1, bl2, bl3, bl4, bl5;
+ bufferlist bl1, bl2, bl3, bl4;
::encode(snap_id, bl1);
op.exec("rbd", "get_snapshot_name", bl1);
::encode(snap_id, bl2);
op.exec("rbd", "get_size", bl2);
::encode(snap_id, bl3);
- op.exec("rbd", "get_features", bl3);
+ op.exec("rbd", "get_parent", bl3);
::encode(snap_id, bl4);
- op.exec("rbd", "get_parent", bl4);
- ::encode(snap_id, bl5);
- op.exec("rbd", "get_protection_status", bl5);
+ op.exec("rbd", "get_protection_status", bl4);
}
bufferlist outbl;
bufferlist::iterator iter = outbl.begin();
for (size_t i = 0; i < ids.size(); ++i) {
uint8_t order;
- uint64_t incompat_features;
// get_snapshot_name
::decode((*names)[i], iter);
// get_size
::decode(order, iter);
::decode((*sizes)[i], iter);
- // get_features
- ::decode((*features)[i], iter);
- ::decode(incompat_features, iter);
// get_parent
::decode((*parents)[i].spec.pool_id, iter);
::decode((*parents)[i].spec.image_id, iter);
const std::vector<snapid_t> &ids,
std::vector<string> *names,
std::vector<uint64_t> *sizes,
- std::vector<uint64_t> *features,
std::vector<parent_info> *parents,
std::vector<uint8_t> *protection_statuses);
int copyup(librados::IoCtx *ioctx, const std::string &oid,