This is fix to regression introduced by fix to omap upgrade: https://github.com/ceph/ceph/pull/43687
The problem was that we always skipped first omap entry.
This worked fine with objects having omap header key.
For objects without header key we skipped first actual omap key.
Fixes: https://tracker.ceph.com/issues/53307
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit
65a3f374aa1c57c5bb9401e57dab98a643b4360a)
txn->set(new_omap_prefix, new_head, header);
txn_cost += new_head.length() + header.length();
}
+ it->next();
}
// tail
{
string final_key;
Onode::calc_omap_key(new_flags, o.get(), string(), &final_key);
size_t base_key_len = final_key.size();
- it->next();
while (it->valid() && it->key() < tail) {
string user_key;
o->decode_omap_key(it->key(), &user_key);
#endif
"kstore"));
-//void doMany4KWritesTest(boost::scoped_ptr<ObjectStore>& store,
-void doMany4KWritesTest(ObjectStore* store,
+void doMany4KWritesTest(boost::scoped_ptr<ObjectStore>& store,
unsigned max_objects,
unsigned max_ops,
unsigned max_object_size,