summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2012-01-24 21:34:27 -0800
committerSage Weil <sage@newdream.net>2012-01-24 21:34:27 -0800
commit44b11441ad3ef231ff207476bbb0d2e8ab130f26 (patch)
treea19e1d7434af72f5a1c2e32b303f465dca793773
parentabc005a5df29446bf309d80dbe8019482606b2c0 (diff)
downloadceph-44b11441ad3ef231ff207476bbb0d2e8ab130f26.tar.gz
osd: set object_info_t::oid properly when recovering clones
I saw a case (#1973) where the clone had the oid set to the head. That is clearly wrong. Not sure what damage this caused. Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--src/osd/ReplicatedPG.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index f344ad8897e..1d7fd422ff4 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -5247,6 +5247,7 @@ int ReplicatedPG::recover_primary(int max)
ObjectContext *headobc = get_object_context(head, OLOC_BLANK, false);
object_info_t oi(headobc->obs.oi);
+ oi.soid = soid;
oi.version = latest->version;
oi.prior_version = latest->prior_version;
bufferlist::iterator i = latest->snaps.begin();