assert(check(oid));
set<string> to_remove;
to_remove.insert(to_object_key(oid));
+ if (g_conf->subsys.should_gather(ceph_subsys_osd, 20)) {
+ for (auto& i : to_remove) {
+ dout(20) << __func__ << " rm " << i << dendl;
+ }
+ }
backend.remove_keys(to_remove, t);
}
::encode(in, bl);
to_set[to_object_key(oid)] = bl;
dout(20) << __func__ << " " << oid << " " << in.snaps << dendl;
+ if (g_conf->subsys.should_gather(ceph_subsys_osd, 20)) {
+ for (auto& i : to_set) {
+ dout(20) << __func__ << " set " << i.first << dendl;
+ }
+ }
backend.set_keys(to_set, t);
}
to_remove.insert(to_raw_key(make_pair(*i, oid)));
}
}
+ if (g_conf->subsys.should_gather(ceph_subsys_osd, 20)) {
+ for (auto& i : to_remove) {
+ dout(20) << __func__ << " rm " << i << dendl;
+ }
+ }
backend.remove_keys(to_remove, t);
return 0;
}
++i) {
to_add.insert(to_raw(make_pair(*i, oid)));
}
+ if (g_conf->subsys.should_gather(ceph_subsys_osd, 20)) {
+ for (auto& i : to_add) {
+ dout(20) << __func__ << " set " << i.first << dendl;
+ }
+ }
backend.set_keys(to_add, t);
}
while (out->size() < max) {
pair<string, bufferlist> next;
r = backend.get_next(pos, &next);
+ dout(20) << __func__ << " get_next(" << pos << ") returns " << r
+ << " " << next << dendl;
if (r != 0) {
break; // Done
}
assert(is_mapping(next.first));
+ dout(20) << __func__ << " " << next.first << dendl;
pair<snapid_t, hobject_t> next_decoded(from_raw(next));
assert(next_decoded.first == snap);
assert(check(next_decoded.second));
++i) {
to_remove.insert(to_raw_key(make_pair(*i, oid)));
}
+ if (g_conf->subsys.should_gather(ceph_subsys_osd, 20)) {
+ for (auto& i : to_remove) {
+ dout(20) << __func__ << " rm " << i << dendl;
+ }
+ }
backend.remove_keys(to_remove, t);
return 0;
}