{
coll_t cid = i.get_cid(op->cid);
r = _remove_collection(txc, cid, &c);
+ if (!r)
+ continue;
}
break;
assert(!c);
coll_t cid = i.get_cid(op->cid);
r = _create_collection(txc, cid, op->split_bits, &c);
+ if (!r)
+ continue;
}
break;
uint32_t bits = op->split_bits;
uint32_t rem = op->split_rem;
r = _split_collection(txc, c, cvec[op->dest_cid], bits, rem);
+ if (!r)
+ continue;
}
break;
break;
}
if (r < 0) {
+ dout(0) << " error " << cpp_strerror(r)
+ << " not handled on operation " << op->op
+ << " (op " << pos << ", counting from 0)" << dendl;
+ dout(0) << " transaction dump:\n";
+ JSONFormatter f(true);
+ f.open_object_section("transaction");
+ t->dump(&f);
+ f.close_section();
+ f.flush(*_dout);
+ *_dout << dendl;
assert(0 == "unexpected error");
}
{
dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
o->exists = true;
_assign_nid(txc, o);
txc->write_onode(o);
dout(15) << __func__ << " " << c->cid << " " << o->oid
<< " " << offset << "~" << length
<< dendl;
- RWLock::WLocker l(c->lock);
_assign_nid(txc, o);
int r = _do_write(txc, o, offset, length, bl, fadvise_flags);
txc->write_onode(o);
<< " " << offset << "~" << length
<< dendl;
int r = 0;
-
- RWLock::WLocker l(c->lock);
_dump_onode(o);
_assign_nid(txc, o);
dout(15) << __func__ << " " << c->cid << " " << o->oid
<< " " << offset
<< dendl;
- RWLock::WLocker l(c->lock);
int r = _do_truncate(txc, o, offset);
dout(10) << __func__ << " " << c->cid << " " << o->oid
<< " " << offset
OnodeRef &o)
{
dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl;
- RWLock::WLocker l(c->lock);
int r = _do_remove(txc, o);
dout(10) << __func__ << " " << c->cid << " " << o->oid << " = " << r << dendl;
return r;
<< " " << name << " (" << val.length() << " bytes)"
<< dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
o->onode.attrs[name] = val;
txc->write_onode(o);
dout(10) << __func__ << " " << c->cid << " " << o->oid
<< " " << aset.size() << " keys"
<< dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
for (map<string,bufferptr>::const_iterator p = aset.begin();
p != aset.end(); ++p)
o->onode.attrs[p->first] = p->second;
dout(15) << __func__ << " " << c->cid << " " << o->oid
<< " " << name << dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
o->onode.attrs.erase(name);
txc->write_onode(o);
dout(10) << __func__ << " " << c->cid << " " << o->oid
{
dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
o->onode.attrs.clear();
txc->write_onode(o);
dout(10) << __func__ << " " << c->cid << " " << o->oid << " = " << r << dendl;
{
dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
if (o->onode.omap_head != 0) {
_do_omap_clear(txc, o->onode.omap_head);
}
int r;
bufferlist::iterator p = bl.begin();
__u32 num;
- RWLock::WLocker l(c->lock);
if (!o->onode.omap_head) {
o->onode.omap_head = o->onode.nid;
txc->write_onode(o);
{
dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl;
int r;
- RWLock::WLocker l(c->lock);
string key;
if (!o->onode.omap_head) {
o->onode.omap_head = o->onode.nid;
bufferlist::iterator p = bl.begin();
__u32 num;
- RWLock::WLocker l(c->lock);
if (!o->onode.omap_head) {
r = 0;
goto out;
string key_first, key_last;
int r = 0;
- RWLock::WLocker l(c->lock);
if (!o->onode.omap_head) {
goto out;
}
<< " write_size " << expected_write_size
<< dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
o->onode.expected_object_size = expected_object_size;
o->onode.expected_write_size = expected_write_size;
txc->write_onode(o);
return -EINVAL;
}
- RWLock::WLocker l(c->lock);
bufferlist bl;
newo->exists = true;
_assign_nid(txc, newo);
<< " to offset " << dstoff << dendl;
int r = 0;
- RWLock::WLocker l(c->lock);
bufferlist bl;
newo->exists = true;
_assign_nid(txc, newo);
<< new_oid << dendl;
int r;
ghobject_t old_oid = oldo->oid;
- RWLock::WLocker l(c->lock);
bufferlist bl;
string old_key, new_key;