]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: adjust LOST log entry types; simplify log entry type strings
authorSage Weil <sage@newdream.net>
Wed, 12 Oct 2011 16:20:54 +0000 (09:20 -0700)
committerSage Weil <sage@newdream.net>
Sat, 15 Oct 2011 04:02:32 +0000 (21:02 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/PG.cc
src/osd/PG.h
src/osd/ReplicatedPG.cc

index 2ca6008163dd89f1b22a16fbcf45c08d982178ad..cad2d7681abdb5061531200b815adcaae5d7687c 100644 (file)
@@ -3353,7 +3353,7 @@ void PG::share_pg_log(const eversion_t &oldver)
       }
       const Log::Entry &entry(*i);
       switch (entry.op) {
-       case Log::Entry::LOST: {
+       case Log::Entry::LOST_MARK: {
          PG::Missing& pmissing(peer_missing[peer]);
          pmissing.add(entry.soid, entry.version, eversion_t());
          dout(20) << " peer osd." << peer << " now missing " << entry.soid
index 08ba5a1e25805f8b1c5f63d409d897a50b5402d6..7139fc0f2d337fa8b528266f42dc8dc15e0aa964 100644 (file)
@@ -356,13 +356,37 @@ public:
      */
     struct Entry {
       enum {
-       LOST = 0,        // lost new version, now deleted
        MODIFY = 1,
        CLONE = 2,
        DELETE = 3,
        BACKLOG = 4,  // event invented by generate_backlog
-       LOST_REVERT = 5, // lost new version, reverted to old
+       LOST_REVERT = 5, // lost new version, revert to an older version.
+       LOST_DELETE = 6, // lost new version, revert to no object (deleted).
+       LOST_MARK = 7,   // lost new version, now EIO
       };
+      static const char *get_op_name(int op) {
+       switch (op) {
+       case MODIFY:
+         return "modify  ";
+       case CLONE:
+         return "clone   ";
+       case DELETE:
+         return "delete  ";
+       case BACKLOG:
+         return "backlog ";
+       case LOST_REVERT:
+         return "l_revert";
+       case LOST_DELETE:
+         return "l_delete";
+       case LOST_MARK:
+         return "l_mark  ";
+       default:
+         return "unknown ";
+       }
+      }
+      const char *get_op_name() const {
+       return get_op_name(op);
+      }
 
       __s32      op;
       hobject_t  soid;
@@ -382,16 +406,22 @@ public:
        prior_version(pv),
        reqid(rid), mtime(mt), invalid_hash(false) {}
       
-      bool is_delete() const { return op == DELETE; }
       bool is_clone() const { return op == CLONE; }
       bool is_modify() const { return op == MODIFY; }
       bool is_backlog() const { return op == BACKLOG; }
-      bool is_lost() const { return op == LOST; }
       bool is_lost_revert() const { return op == LOST_REVERT; }
-      bool is_update() const { return is_clone() || is_modify() || is_backlog() || is_lost_revert(); }
+      bool is_lost_delete() const { return op == LOST_DELETE; }
+      bool is_lost_mark() const { return op == LOST_MARK; }
 
+      bool is_update() const {
+       return is_clone() || is_modify() || is_backlog() || is_lost_revert() || is_lost_mark();
+      }
+      bool is_delete() const {
+       return op == DELETE || op == LOST_DELETE;
+      }
+      
       bool reqid_is_indexed() const {
-       return reqid != osd_reqid_t() && op != BACKLOG && op != CLONE && op != LOST && op != LOST_REVERT;
+       return reqid != osd_reqid_t() && (op == MODIFY || op == DELETE);
       }
 
       void encode(bufferlist &bl) const {
@@ -1732,15 +1762,8 @@ inline ostream& operator<<(ostream& out, const PG::Query& q)
 
 inline ostream& operator<<(ostream& out, const PG::Log::Entry& e)
 {
-  return out << e.version << " (" << e.prior_version << ")"
-             << (e.is_delete() ? " - ":
-                (e.is_clone() ? " c ":
-                 (e.is_modify() ? " m ":
-                  (e.is_backlog() ? " b ":
-                   (e.is_lost() ? " L ":
-                    (e.is_lost_revert() ? " R " :
-                     " ? "))))))
-             << e.soid << " by " << e.reqid << " " << e.mtime;
+  return out << e.version << " (" << e.prior_version << ") "
+             << e.get_op_name() << ' ' << e.soid << " by " << e.reqid << " " << e.mtime;
 }
 
 inline ostream& operator<<(ostream& out, const PG::Log& log) 
index d1fbf5caee65063072445deb7e34016555174272..c813f283744762dd5c6d64b5c4e954520f2e347c 100644 (file)
@@ -4459,7 +4459,7 @@ ReplicatedPG::ObjectContext *ReplicatedPG::mark_object_lost(ObjectStore::Transac
 
   // Add log entry
   info.last_update.version++;
-  Log::Entry e(Log::Entry::LOST, oid, info.last_update,
+  Log::Entry e(Log::Entry::LOST_MARK, oid, info.last_update,
               version, osd_reqid_t(), mtime);
   log.add(e);