]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/: s/backfill_read/recovery_read for obc locking
authorSamuel Just <sjust@redhat.com>
Tue, 18 Nov 2014 23:22:34 +0000 (15:22 -0800)
committerSamuel Just <sjust@redhat.com>
Thu, 22 Jan 2015 21:11:50 +0000 (13:11 -0800)
We are going to expand our usage of this for normal
replica recovery.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/ReplicatedPG.cc
src/osd/osd_types.h

index b0a9ffbc066add5104f3e66ab2341fbd4d72d76a..ae2339abd31b9c8073e22707c87d4c66223b172a 100644 (file)
@@ -313,7 +313,7 @@ void ReplicatedPG::on_global_recover(
   assert(i != recovering.end());
   if (backfills_in_flight.count(soid)) {
     list<OpRequestRef> requeue_list;
-    i->second->drop_backfill_read(&requeue_list);
+    i->second->drop_recovery_read(&requeue_list);
     requeue_ops(requeue_list);
     backfills_in_flight.erase(soid);
   }
@@ -10386,7 +10386,7 @@ void ReplicatedPG::_clear_recovery_state()
   set<hobject_t>::iterator i = backfills_in_flight.begin();
   while (i != backfills_in_flight.end()) {
     assert(recovering.count(*i));
-    recovering[*i]->drop_backfill_read(&blocked_ops);
+    recovering[*i]->drop_recovery_read(&blocked_ops);
     requeue_ops(blocked_ops);
     backfills_in_flight.erase(i++);
   }
@@ -11183,7 +11183,7 @@ int ReplicatedPG::recover_backfill(
       if (!need_ver_targs.empty() || !missing_targs.empty()) {
        ObjectContextRef obc = get_object_context(backfill_info.begin, false);
        assert(obc);
-       if (obc->get_backfill_read()) {
+       if (obc->get_recovery_read()) {
          if (!need_ver_targs.empty()) {
            dout(20) << " BACKFILL replacing " << check
                   << " with ver " << obj_v
index 10728fa6c60ca3971d67b8d3233fafea32c9eeac..f75fb3ddead4c59229911147f9b96c94972f5187 100644 (file)
@@ -3015,7 +3015,7 @@ public:
     list<OpRequestRef> waiters;  ///< ops waiting on state change
 
     /// if set, restart backfill when we can get a read lock
-    bool backfill_read_marker;
+    bool recovery_read_marker;
 
     /// if set, requeue snaptrim on lock release
     bool snaptrimmer_write_marker;
@@ -3023,7 +3023,7 @@ public:
     RWState()
       : state(RWNONE),
        count(0),
-       backfill_read_marker(false),
+       recovery_read_marker(false),
        snaptrimmer_write_marker(false)
     {}
     bool get_read(OpRequestRef op) {
@@ -3067,7 +3067,7 @@ public:
       if (!greedy) {
        // don't starve anybody!
        if (!waiters.empty() ||
-           backfill_read_marker) {
+           recovery_read_marker) {
          return false;
        }
       }
@@ -3131,17 +3131,17 @@ public:
       return false;
     }
   }
-  bool get_backfill_read() {
-    rwstate.backfill_read_marker = true;
+  bool get_recovery_read() {
+    rwstate.recovery_read_marker = true;
     if (rwstate.get_read_lock()) {
       return true;
     }
     return false;
   }
-  void drop_backfill_read(list<OpRequestRef> *ls) {
-    assert(rwstate.backfill_read_marker);
+  void drop_recovery_read(list<OpRequestRef> *ls) {
+    assert(rwstate.recovery_read_marker);
     rwstate.put_read(ls);
-    rwstate.backfill_read_marker = false;
+    rwstate.recovery_read_marker = false;
   }
   void put_read(list<OpRequestRef> *to_wake) {
     rwstate.put_read(to_wake);
@@ -3150,8 +3150,8 @@ public:
                 bool *requeue_recovery,
                 bool *requeue_snaptrimmer) {
     rwstate.put_write(to_wake);
-    if (rwstate.empty() && rwstate.backfill_read_marker) {
-      rwstate.backfill_read_marker = false;
+    if (rwstate.empty() && rwstate.recovery_read_marker) {
+      rwstate.recovery_read_marker = false;
       *requeue_recovery = true;
     }
     if (rwstate.empty() && rwstate.snaptrimmer_write_marker) {