]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: observe snapset.head_exists on read
authorSage Weil <sage@newdream.net>
Thu, 7 Aug 2008 18:27:36 +0000 (11:27 -0700)
committerSage Weil <sage@newdream.net>
Thu, 7 Aug 2008 18:27:36 +0000 (11:27 -0700)
src/osd/ReplicatedPG.cc

index cc07f91ae1680b19d2facda4e86ed749baa81020..5f3e7d57e21678db38fbe0491179183ad38a1827 100644 (file)
@@ -472,9 +472,18 @@ bool ReplicatedPG::pick_read_snap(pobject_t& poid)
 
   // head?
   if (want > snapset.seq) {
-    dout(10) << "pick_read_snap  " << head << " want " << want << " > snapset seq " << snapset.seq << " -- HIT" << dendl;
-    poid = head;
-    return true;
+    if (snapset.head_exists) {
+      dout(10) << "pick_read_snap  " << head
+              << " want " << want << " > snapset seq " << snapset.seq
+              << " -- HIT" << dendl;
+      poid = head;
+      return true;
+    } else {
+      dout(10) << "pick_read_snap  " << head
+              << " want " << want << " > snapset seq " << snapset.seq
+              << " but head_exists = false -- DNE" << dendl;
+      return false;
+    }
   }
 
   // which clone would it be?