]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: set object_info_t::oid properly when recovering clones
authorSage Weil <sage@newdream.net>
Wed, 25 Jan 2012 05:34:27 +0000 (21:34 -0800)
committerSage Weil <sage@newdream.net>
Wed, 25 Jan 2012 05:34:27 +0000 (21:34 -0800)
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>
src/osd/ReplicatedPG.cc

index f344ad8897e60975ef533700f710cad482bbd808..1d7fd422ff4aeb654db4879ad87c12818d609652 100644 (file)
@@ -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();