db->submit_transaction_sync(txn);
};
+ void BlueStore::inject_no_shared_blob_key()
+ {
+ KeyValueDB::Transaction txn;
+ txn = db->get_transaction();
+ ceph_assert(blobid_last > 0);
+ // kill the last used sbid, this can be broken due to blobid preallocation
+ // in rare cases, leaving as-is for the sake of simplicity
+ uint64_t sbid = blobid_last;
+
+ string key;
+ dout(5) << __func__<< " " << sbid << dendl;
+ get_shared_blob_key(sbid, &key);
+ txn->rmkey(PREFIX_SHARED_BLOB, key);
+ db->submit_transaction_sync(txn);
+ };
+
+
void BlueStore::inject_leaked(uint64_t len)
{
- KeyValueDB::Transaction txn;
- txn = db->get_transaction();
-
PExtentVector exts;
int64_t alloc_len = shared_alloc.a->allocate(len, min_alloc_size,
min_alloc_size * 256, 0, &exts);