From: Sage Weil Date: Tue, 8 Mar 2016 20:49:16 +0000 (-0500) Subject: os/bluestore: fix OP_TRY_RENAME X-Git-Tag: v10.1.0~113^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=35f6c5c9accf68be78d47cad0bd3fe1fcce89b2a;p=ceph.git os/bluestore: fix OP_TRY_RENAME We don't need to create the dest onode. Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index f73b1cda770b..2b8407a15ab3 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4483,7 +4483,8 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) break; case Transaction::OP_COLL_MOVE_RENAME: - { + case Transaction::OP_TRY_RENAME: + { assert(op->cid == op->dest_cid); const ghobject_t& noid = i.get_oid(op->dest_oid); OnodeRef& no = ovec[op->dest_oid]; @@ -4491,15 +4492,7 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) no = c->get_onode(noid, false); } r = _rename(txc, c, o, no, noid); - } - break; - - case Transaction::OP_TRY_RENAME: - { - const ghobject_t& noid = i.get_oid(op->dest_oid); - OnodeRef no = c->get_onode(noid, true); - r = _rename(txc, c, o, no, noid); - if (r == -ENOENT) + if (r == -ENOENT && op->op == Transaction::OP_TRY_RENAME) r = 0; } break;