From 6dcc4998658afcb0a3bffd01026d1ea297296fee Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 8 Mar 2016 13:14:47 -0500 Subject: [PATCH] os/memstore: assert src and dst collection match on rename Signed-off-by: Sage Weil --- src/os/memstore/MemStore.cc | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index 345ac20d9817e..eb06f18592d27 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; } -- 2.39.5