]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: clean up lock print methods
authorSage Weil <sage@newdream.net>
Thu, 1 Jan 2009 19:06:13 +0000 (11:06 -0800)
committerSage Weil <sage@newdream.net>
Thu, 1 Jan 2009 19:06:13 +0000 (11:06 -0800)
src/mds/FileLock.h
src/mds/LocalLock.h
src/mds/ScatterLock.h
src/mds/SimpleLock.h

index 2891746c7c90b8d43c5a7deed5a79dde30bf7f06..876d108fe9fe50c49f649d88dc34411b9143403e 100644 (file)
@@ -56,27 +56,6 @@ using namespace std;
 
 //                                                 * <- varies if client is loner vs non-loner.
  
-inline const char *get_filelock_state_name(int n) {
-  switch (n) {
-  case LOCK_SYNC: return "sync";
-  case LOCK_LONER_SYNC: return "loner->sync";
-  case LOCK_MIXED_SYNC: return "mixed->sync";
-  case LOCK_MIXED_SYNC2: return "mixed->sync2";
-  case LOCK_LOCK_SYNC: return "lock->sync";
-  case LOCK_LOCK: return "lock";
-  case LOCK_SYNC_LOCK: return "sync->lock";
-  case LOCK_LONER_LOCK: return "loner->lock";
-  case LOCK_MIXED_LOCK: return "mixed->lock";
-  case LOCK_MIXED: return "mixed";
-  case LOCK_SYNC_MIXED: return "sync->mixed";
-  case LOCK_LONER_MIXED: return "loner->mixed";
-  case LOCK_LONER: return "loner";
-  case LOCK_SYNC_LONER: return "sync->loner";
-  case LOCK_MIXED_LONER: return "mixed->loner";
-  case LOCK_LOCK_LONER: return "lock->loner";
-  default: assert(0); return 0;
-  }
-}
 
 
 /* no append scenarios:
@@ -106,6 +85,29 @@ class FileLock : public ScatterLock {
   FileLock(MDSCacheObject *o, int t, int wo) : 
     ScatterLock(o, t, wo) {}
   
+  const char *get_state_name(int n) {
+    switch (n) {
+    case LOCK_SYNC: return "sync";
+    case LOCK_LONER_SYNC: return "loner->sync";
+    case LOCK_MIXED_SYNC: return "mixed->sync";
+    case LOCK_MIXED_SYNC2: return "mixed->sync2";
+    case LOCK_LOCK_SYNC: return "lock->sync";
+    case LOCK_LOCK: return "lock";
+    case LOCK_SYNC_LOCK: return "sync->lock";
+    case LOCK_LONER_LOCK: return "loner->lock";
+    case LOCK_MIXED_LOCK: return "mixed->lock";
+    case LOCK_MIXED: return "mixed";
+    case LOCK_SYNC_MIXED: return "sync->mixed";
+    case LOCK_LONER_MIXED: return "loner->mixed";
+    case LOCK_LONER: return "loner";
+    case LOCK_SYNC_LONER: return "sync->loner";
+    case LOCK_MIXED_LONER: return "mixed->loner";
+    case LOCK_LOCK_LONER: return "lock->loner";
+    default: assert(0); return 0;
+    }
+  }
+
+
   int get_replica_state() const {
     switch (state) {
     case LOCK_LOCK:
@@ -257,22 +259,6 @@ class FileLock : public ScatterLock {
            state == LOCK_LOCK_LONER);
   }
 
-
-  void print(ostream& out) {
-    out << "(";
-    out << get_lock_type_name(get_type()) << " ";
-    out << get_filelock_state_name(get_state());
-    if (!get_gather_set().empty()) out << " g=" << get_gather_set();
-    if (get_num_client_lease())
-      out << " c=" << get_num_client_lease();
-    if (is_wrlocked())
-      out << " w=" << get_num_wrlocks();
-    if (is_rdlocked()) 
-      out << " r=" << get_num_rdlocks();
-    if (is_xlocked())
-      out << " x=" << get_xlocked_by();
-    out << ")";
-  }
 };
 
 
index 752fdcb4d3fd1f572cc7bfa9ca06c50115807007..dfbaf2e8a53a88825fed09a9b9f9d836504e63be 100644 (file)
@@ -43,18 +43,6 @@ public:
   }
   bool is_wrlocked() { return num_wrlock > 0; }
   int get_num_wrlocks() { return num_wrlock; }
-
-
-  void print(ostream& out) {
-    out << "(";
-    out << get_lock_type_name(get_type());
-    if (is_xlocked())
-      out << " x=" << get_xlocked_by();
-    if (is_wrlocked()) 
-      out << " wr=" << get_num_wrlocks();
-    out << ")";
-  }
-
 };
 
 
index a864ab318686c641399b17c9802cbdd67866b931..2490c3be20af8e00d88e64fd7c1de1b2e5add940 100644 (file)
 #define LOCK_TEMPSYNC           27  // R .       LOCK on replica.
 
 
-inline const char *get_scatterlock_state_name(int s) {
-  switch(s) {
-  case LOCK_SYNC: return "sync";
-  case LOCK_SYNC_LOCK: return "sync->lock";
-  case LOCK_SYNC_SCATTER: return "sync->scatter";
-    
-  case LOCK_LOCK_SYNC: return "lock->sync";
-  case LOCK_LOCK: return "lock";
-  case LOCK_LOCK_TEMPSYNC: return "lock->tempsync";
-    
-  case LOCK_SCATTER_LOCK: return "scatter->lock";
-  case LOCK_SCATTER: return "scatter";
-  case LOCK_SCATTER_TEMPSYNC: return "scatter->tempsync";
-    
-  case LOCK_TEMPSYNC_SCATTER: return "tempsync->scatter";
-  case LOCK_TEMPSYNC_LOCK: return "tempsync->lock";
-  case LOCK_TEMPSYNC: return "tempsync";
-    
-  default: assert(0); return 0;
-  }
-}
 
 class ScatterLock : public SimpleLock {
   bool updated;
@@ -78,6 +57,28 @@ public:
     xlistitem_updated.remove_myself();   // FIXME this should happen sooner, i think...
   }
 
+  const char *get_scatterlock_state_name(int s) {
+    switch(s) {
+    case LOCK_SYNC: return "sync";
+    case LOCK_SYNC_LOCK: return "sync->lock";
+    case LOCK_SYNC_SCATTER: return "sync->scatter";
+      
+    case LOCK_LOCK_SYNC: return "lock->sync";
+    case LOCK_LOCK: return "lock";
+    case LOCK_LOCK_TEMPSYNC: return "lock->tempsync";
+      
+    case LOCK_SCATTER_LOCK: return "scatter->lock";
+    case LOCK_SCATTER: return "scatter";
+    case LOCK_SCATTER_TEMPSYNC: return "scatter->tempsync";
+      
+    case LOCK_TEMPSYNC_SCATTER: return "tempsync->scatter";
+    case LOCK_TEMPSYNC_LOCK: return "tempsync->lock";
+    case LOCK_TEMPSYNC: return "tempsync";
+      
+    default: assert(0); return 0;
+    }
+  }
+
   int get_replica_state() const {
     switch (state) {
     case LOCK_SYNC: 
@@ -157,17 +158,7 @@ public:
 
   void print(ostream& out) {
     out << "(";
-    out << get_lock_type_name(get_type()) << " ";
-    out << get_scatterlock_state_name(get_state());
-    if (!get_gather_set().empty()) out << " g=" << get_gather_set();
-    if (get_num_client_lease())
-      out << " c=" << get_num_client_lease();
-    if (is_rdlocked()) 
-      out << " r=" << get_num_rdlocks();
-    if (is_xlocked())
-      out << " x=" << get_xlocked_by();
-    if (is_wrlocked()) 
-      out << " wr=" << get_num_wrlocks();
+    _print(out);
     if (updated)
       out << " updated";
     out << ")";
index 913420194ac6b82a520956b736f7a0183243ef5f..1ac9c6e413ffdb572be6e76dc9e96dbe349a4dd8 100644 (file)
@@ -45,17 +45,6 @@ inline const char *get_lock_type_name(int t) {
 #define LOCK_LOCK_SYNC  -51    // A    R w
 #define LOCK_REMOTEXLOCK  -50  // on NON-auth
 
-inline const char *get_simplelock_state_name(int n) {
-  switch (n) {
-  case LOCK_UNDEF: return "UNDEF";
-  case LOCK_SYNC: return "sync";
-  case LOCK_LOCK: return "lock";
-  case LOCK_SYNC_LOCK: return "sync->lock";
-  case LOCK_LOCK_SYNC: return "lock->sync";
-  case LOCK_REMOTEXLOCK: return "remote_xlock";
-  default: assert(0); return 0;
-  }
-}
 
 /*
 
@@ -85,6 +74,18 @@ public:
   static const int WAIT_BITS        = 4;
   static const __u64 WAIT_ALL         = ((1<<WAIT_BITS)-1);
 
+  virtual const char *get_state_name(int n) {
+    switch (n) {
+    case LOCK_UNDEF: return "UNDEF";
+    case LOCK_SYNC: return "sync";
+    case LOCK_LOCK: return "lock";
+    case LOCK_SYNC_LOCK: return "sync->lock";
+    case LOCK_LOCK_SYNC: return "lock->sync";
+    case LOCK_REMOTEXLOCK: return "remote_xlock";
+    default: assert(0); return 0;
+    }
+  }
+
 protected:
   // parent (what i lock)
   MDSCacheObject *parent;
@@ -357,17 +358,24 @@ public:
       return false;
   }
 
-  virtual void print(ostream& out) {
-    out << "(";
+  void _print(ostream& out) {
     out << get_lock_type_name(get_type()) << " ";
-    out << get_simplelock_state_name(get_state());
-    if (!get_gather_set().empty()) out << " g=" << get_gather_set();
+    out << get_state_name(get_state());
+    if (!get_gather_set().empty())
+      out << " g=" << get_gather_set();
     if (num_client_lease)
-      out << " c=" << num_client_lease;
+      out << " l=" << num_client_lease;
     if (is_rdlocked()) 
       out << " r=" << get_num_rdlocks();
+    if (is_wrlocked()) 
+      out << " w=" << get_num_wrlocks();
     if (is_xlocked())
       out << " x=" << get_xlocked_by();
+  }
+
+  virtual void print(ostream& out) {
+    out << "(";
+    _print(out);
     out << ")";
   }
 };