From c4b51e30bb13ba544f084a31a39b129d91094626 Mon Sep 17 00:00:00 2001 From: Sage Weil <sage@newdream.net> Date: Wed, 5 Oct 2011 13:00:55 -0700 Subject: [PATCH] objecter: normalize oloc.key If oloc.key == oid, clear it. Users can set it to the oid or leave it blank; they are equivalent. Signed-off-by: Sage Weil <sage@newdream.net> --- src/osdc/Objecter.cc | 2 ++ src/osdc/Objecter.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 6aa76046157..08e848b55d9 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -133,6 +133,8 @@ tid_t Objecter::linger(const object_t& oid, const object_locator_t& oloc, LingerOp *info = new LingerOp; info->oid = oid; info->oloc = oloc; + if (info->oloc.key == oid) + info->oloc.key.clear(); info->snap = snap; info->flags = flags; info->ops = op.ops; diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index b7873479952..bf1d269bcba 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -391,6 +391,9 @@ public: tid(0), attempts(0), paused(false), objver(ov), reply_epoch(NULL) { ops.swap(op); + + if (oloc.key == o) + oloc.key.clear(); } bool operator<(const Op& other) const {