}
dout(0) << "do_coll_add " << orig_coll->m_coll.to_str() << "/" << obj->oid.name
<< " => " << new_coll->m_coll.to_str() << "/" << obj->oid.name << dendl;
- hobject_t *old = new_coll->add_obj(obj_key, obj);
+ new_coll->touch_obj(obj_key);
- _do_coll_add(orig_coll->m_coll, new_coll->m_coll, old, *obj);
- delete old;
+ _do_coll_add(orig_coll->m_coll, new_coll->m_coll, *obj);
}
void DeterministicOpSequence::_do_touch(coll_t coll, hobject_t& obj)
m_store->apply_transaction(t);
}
-void DeterministicOpSequence::_do_coll_add(
- coll_t orig_coll, coll_t new_coll,
- hobject_t *old,
- hobject_t &obj)
+void DeterministicOpSequence::_do_coll_add(coll_t orig_coll, coll_t new_coll,
+ hobject_t& obj)
{
ObjectStore::Transaction t;
note_txn(&t);
- if (old)
- t.remove(new_coll, *old);
+ t.remove(new_coll, obj);
t.collection_add(new_coll, orig_coll, obj);
m_store->apply_transaction(t);
}
hobject_t& new_obj, uint64_t srcoff, uint64_t srclen,
uint64_t dstoff, bufferlist& bl);
virtual void _do_coll_move(coll_t new_coll, coll_t old_coll, hobject_t& obj);
- virtual void _do_coll_add(
- coll_t orig_coll, coll_t new_coll,
- hobject_t *old, hobject_t& obj);
+ virtual void _do_coll_add(coll_t orig_coll, coll_t new_coll, hobject_t& obj);
virtual void _do_coll_rename(coll_t orig_coll, coll_t new_coll);
int _gen_coll_id(rngen_t& gen);
}
}
-hobject_t *TestFileStoreState::coll_entry_t::add_obj(
- int id, hobject_t *oid)
-{
- hobject_t *ret = NULL;
- if (m_objects.count(id))
- ret = m_objects[id];
- m_objects[id] = new hobject_t(*oid);
- return ret;
-}
-
hobject_t *TestFileStoreState::coll_entry_t::touch_obj(int id)
{
map<int, hobject_t*>::iterator it = m_objects.find(id);
~coll_entry_t();
hobject_t *touch_obj(int id);
- hobject_t *add_obj(int id, hobject_t *oid);
hobject_t *get_obj(int id);
hobject_t *remove_obj(int id);
hobject_t *get_obj_at(int pos, int *key = NULL);