From: Sage Weil Date: Tue, 8 Mar 2016 18:14:47 +0000 (-0500) Subject: os/memstore: assert src and dst collection match on rename X-Git-Tag: v10.1.0~113^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6dcc4998658afcb0a3bffd01026d1ea297296fee;p=ceph.git os/memstore: assert src and dst collection match on rename Signed-off-by: Sage Weil --- diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index 345ac20d9817..eb06f18592d2 100644 --- a/src/os/memstore/MemStore.cc +++ b/src/os/memstore/MemStore.cc @@ -1354,15 +1354,8 @@ int MemStore::_collection_move_rename(const coll_t& oldcid, const ghobject_t& ol return -ENOENT; // note: c and oc may be the same - if (&(*c) == &(*oc)) { - c->lock.get_write(); - } else if (&(*c) < &(*oc)) { - c->lock.get_write(); - oc->lock.get_write(); - } else if (&(*c) > &(*oc)) { - oc->lock.get_write(); - c->lock.get_write(); - } + assert(&(*c) == &(*oc)); + c->lock.get_write(); int r = -EEXIST; if (c->object_hash.count(oid)) @@ -1380,8 +1373,6 @@ int MemStore::_collection_move_rename(const coll_t& oldcid, const ghobject_t& ol r = 0; out: c->lock.put_write(); - if (&(*c) != &(*oc)) - oc->lock.put_write(); return r; }