]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge branch 'master' into wip-4982-4983-oloc-rebase 394/head
authorDavid Zafman <david.zafman@inktank.com>
Tue, 9 Jul 2013 21:10:42 +0000 (14:10 -0700)
committerDavid Zafman <david.zafman@inktank.com>
Tue, 9 Jul 2013 21:10:42 +0000 (14:10 -0700)
1  2 
src/mon/OSDMonitor.cc
src/os/ObjectStore.cc
src/osd/OSD.cc
src/osd/OSDMap.cc
src/osd/PG.cc
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h
src/osd/osd_types.cc
src/osd/osd_types.h
src/test/test_osd_types.cc

Simple merge
Simple merge
diff --cc src/osd/OSD.cc
Simple merge
Simple merge
diff --cc src/osd/PG.cc
Simple merge
index 2ab1f77e57f8988361e607cf68833a92830fa86b,f150ccc92ff97dea4e954426d2a404cf595e17ab..4b25689bf299049992b80a88b2da9e3600025e91
@@@ -5287,10 -5400,10 +5400,10 @@@ void ReplicatedPG::prep_push_to_replica
      snapdir.snap = CEPH_SNAPDIR;
      if (pg_log.get_missing().is_missing(snapdir)) {
        dout(15) << "push_to_replica missing snapdir " << snapdir << ", pushing raw clone" << dendl;
-       return push_start(prio, obc, soid, peer);
+       return prep_push(prio, obc, soid, peer, pop);
      }
      
 -    SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false);
 +    SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false, soid.get_namespace());
      assert(ssc);
      dout(15) << "push_to_replica snapset is " << ssc->snapset << dendl;
      calc_clone_subsets(ssc->snapset, soid, peer_missing[peer],
@@@ -6873,13 -7141,14 +7136,14 @@@ int ReplicatedPG::recover_primary(int m
    return started;
  }
  
- int ReplicatedPG::recover_object_replicas(
-   const hobject_t& soid, eversion_t v, int prio)
+ int ReplicatedPG::prep_object_replica_pushes(
+   const hobject_t& soid, eversion_t v, int prio,
+   map<int, vector<PushOp> > *pushes)
  {
-   dout(10) << "recover_object_replicas " << soid << dendl;
+   dout(10) << __func__ << ": on " << soid << dendl;
  
    // NOTE: we know we will get a valid oloc off of disk here.
 -  ObjectContext *obc = get_object_context(soid, OLOC_BLANK, false);
 +  ObjectContext *obc = get_object_context(soid, false);
    if (!obc) {
      pg_log.missing_add(soid, v, eversion_t());
      bool uhoh = true;
@@@ -7181,9 -7464,11 +7459,11 @@@ void ReplicatedPG::prep_backfill_object
  
    if (!pushing.count(oid))
      start_recovery_op(oid);
 -  ObjectContext *obc = get_object_context(oid, OLOC_BLANK, false);
 +  ObjectContext *obc = get_object_context(oid, false);
    obc->ondisk_read_lock();
-   push_to_replica(obc, oid, peer, g_conf->osd_recovery_op_priority);
+   (*pushes)[peer].push_back(PushOp());
+   prep_push_to_replica(obc, oid, peer, g_conf->osd_recovery_op_priority,
+                      &((*pushes)[peer].back()));
    obc->ondisk_read_unlock();
    put_object_context(obc);
  }
Simple merge
Simple merge
Simple merge
Simple merge