}
assert(p->shard_info->offset == p->offset);
p->shard_info->bytes = len;
- p->shard_info->extents = nn;
- encoded_shards[pos].key = &p->key;
+ encoded_shards[pos].offset = p->offset;
dirty_shards.push_back(encoded_shards[pos]);
p->dirty = false;
}
// rewrite shards
oldo->extent_map.fault_range(db, 0, oldo->onode.size);
- get_object_key(new_oid, &new_okey);
+ get_object_key(cct, new_oid, &new_okey);
for (auto &s : oldo->extent_map.shards) {
- txc->t->rmkey(PREFIX_OBJ, s.key);
- get_extent_shard_key(new_okey, s.offset, &s.key);
+ string key;
+ get_extent_shard_key(oldo->key, s.offset, &key);
+ txc->t->rmkey(PREFIX_OBJ, key);
s.dirty = true;
}