]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
lockdep: annotate Mutex declarations
authorSage Weil <sage@newdream.net>
Fri, 31 Oct 2008 22:01:09 +0000 (15:01 -0700)
committerSage Weil <sage@newdream.net>
Fri, 31 Oct 2008 23:51:50 +0000 (16:51 -0700)
30 files changed:
src/client/Client.cc
src/client/SyntheticClient.cc
src/client/fuse_ll.cc
src/common/Clock.h
src/common/Finisher.h
src/common/Logger.cc
src/common/Mutex.h
src/common/Semaphore.h
src/common/ThreadPool.h
src/common/Timer.h
src/config.cc
src/dumpjournal.cc
src/ebofs/BlockDevice.h
src/ebofs/Ebofs.h
src/include/atomic.h
src/include/tstring.h
src/mds/MDS.cc
src/mon/MonClient.cc
src/mon/Monitor.cc
src/msg/SimpleMessenger.h
src/os/Fake.h
src/os/FileJournal.h
src/os/FileStore.cc
src/os/FileStore.h
src/os/JournalingObjectStore.h
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.h
src/osd/ReplicatedPG.cc
src/streamtest.cc

index be6f10ffab1767f6ed4f0b490aa5247c09552d86..6b72b0c6e6b54afae983a7d9df2a2a8ac8d7adf5 100644 (file)
@@ -72,7 +72,7 @@ using namespace std;
 
 
 // static logger
-Mutex client_logger_lock;
+Mutex client_logger_lock("client_logger_lock");
 LogType client_logtype;
 Logger  *client_logger = 0;
 
@@ -100,7 +100,7 @@ void client_flush_set_callback(void *p, inodeno_t ino)
 
 // cons/des
 
-Client::Client(Messenger *m, MonMap *mm) : timer(client_lock)
+Client::Client(Messenger *m, MonMap *mm) : timer(client_lock), client_lock("Client::client_lock")
 {
   // which client am i?
   whoami = m->get_myname().num();
index 3d7266cd19533ef449ace8234310276cd788d079..bb139faafe219d1b49255ad507d9128681fff962 100644 (file)
@@ -2133,7 +2133,7 @@ int SyntheticClient::create_objects(int nobj, int osize, int inflight)
   bufferlist bl;
   bl.push_back(bp);
 
-  Mutex lock;
+  Mutex lock("lock");
   Cond cond;
   
   int unack = 0;
@@ -2224,7 +2224,7 @@ int SyntheticClient::object_rw(int nobj, int osize, int wrpc,
     prime += 2;
   }
 
-  Mutex lock;
+  Mutex lock("lock");
   Cond cond;
 
   int unack = 0;
@@ -3299,7 +3299,7 @@ int SyntheticClient::chunk_file(string &filename)
   while (pos < size) {
     int get = MIN(size-pos, 1048576);
 
-    Mutex lock;
+    Mutex lock("lock");
     Cond cond;
     bool done;
     bufferlist bl;
index 40e97fb2c4646c0351c290e908da5674abbe5e54..6a6ea8d0370e278d509c3a010b78bfd56c53079d 100644 (file)
@@ -29,7 +29,7 @@
 
 static Client *client;
 
-Mutex stag_lock;
+Mutex stag_lock("fuse_ll.cc stag_lock");
 int last_stag = 0;
 hash_map<__u64,int> snap_stag_map;
 hash_map<int,__u64> stag_snap_map;
index ba106ade229d08e53bc6789261d7a1376c8b6784..84f1c27a003532d52b2c45bc9d88686990aa30db 100644 (file)
@@ -40,7 +40,7 @@ class Clock {
   Mutex lock;
 
  public:
-  Clock() {
+  Clock() : lock("Clock::lock") {
     // set offset
     //tare();
   }
index 666ab40d0259373a5d05f01046751ea88fad4532..d00ae69f912b0a3a6cd2b053d24f4b78dd3f2042 100644 (file)
@@ -58,7 +58,7 @@ class Finisher {
   void start();
   void stop();
 
-  Finisher() : finisher_stop(false), finisher_thread(this) {}
+  Finisher() : finisher_lock("Finisher::finisher_lock"), finisher_stop(false), finisher_thread(this) {}
 };
 
 #endif
index 96e7959e36aa0239a0948354484173f25cdd24f4..12808cc996f0535778f9b7ef82a04c9c65bf4e31 100644 (file)
@@ -30,7 +30,7 @@
 #include "common/Timer.h"
 
 // per-process lock.  lame, but this way I protect LogType too!
-Mutex logger_lock;
+Mutex logger_lock("logger_lock");
 SafeTimer logger_timer(logger_lock);
 Context *logger_event = 0;
 list<Logger*> logger_list;
index 855a692d9e96a2dab5a7273cb693bc7af1d4774f..869a28f007771126586740441dedfc1f396eb852 100755 (executable)
@@ -20,6 +20,7 @@
 
 class Mutex {
 private:
+  const char *name;
   pthread_mutex_t _m;
   int nlock;
   bool recursive;
@@ -29,7 +30,7 @@ private:
   Mutex( const Mutex &M ) {}
 
 public:
-  Mutex(bool r = true) : nlock(0), recursive(r) {
+  Mutex(const char *n, bool r = true) : name(n), nlock(0), recursive(r) {
     if (recursive) {
       pthread_mutexattr_t attr;
       pthread_mutexattr_init(&attr);
@@ -89,4 +90,5 @@ public:
   };
 };
 
+
 #endif
index 4574b7e33cc25970f8da1d7dafe5a72f56fcbd2e..62861a02e6c6ff1412c86835d4996859d3636cb8 100644 (file)
@@ -24,7 +24,7 @@ class Semaphore
 
   public:
 
-  Semaphore()
+  Semaphore() : m("Semaphore::m")
   {
     count = 0;
   }
index 62855a240cd0c8eb937bccb691e3e4f136bf5468..636b4e50ed2d9ca035495c9dbb69b5fdba51eeb6 100644 (file)
@@ -98,6 +98,7 @@ class ThreadPool {
  public:
 
   ThreadPool(char *myname, int howmany, void (*f)(U,T), U obj, void (*pf)(U,T) = 0) :
+    q_lock("ThreadPool::q_lock"),
     num_ops(0), num_threads(howmany), 
     thread(num_threads),
     u(obj),
index 3574833c342c327c98263eb3766efdd75427d6c3..a8b18bad1d228707beb77fb07f8c432ff56c79f2 100644 (file)
@@ -87,6 +87,7 @@ class Timer {
  public:
   Timer() :
     thread_stop(false),
+    lock("Timer::lock"),
     timed_sleep(false),
     sleeping(false),
     timer_thread(this),
index c24ab3ac12599008fcc39679405379ad27f69184..45b29bc55573596ec13b1377c3fcf261a6e90901 100644 (file)
@@ -80,7 +80,7 @@ int buffer::list::write_file(const char *fn)
 
 
 // debug output
-Mutex _dout_lock;
+Mutex _dout_lock("_dout_lock");
 ostream *_dout = &std::cout;
 ostream *_derr = &std::cerr;
 char _dout_file[100] = {0};
index 651078389b30a20d74b4d3695daadc9bdd52ef04..7696293e463bcb4ad2026d5a0491dfe6e3042df6 100644 (file)
@@ -40,7 +40,7 @@ using namespace std;
 
 
 OSDMap osdmap;
-Mutex lock;
+Mutex lock("dumpjournal.cc lock");
 Cond cond;
 
 Messenger *messenger = 0;
index 6c35c1ccff68bb3770b30038eff797cb4ad26b2e..161d81aeded7abdb46cbc4f08f70af28059555da 100644 (file)
@@ -257,11 +257,13 @@ class BlockDevice {
  public:
   BlockDevice(const char *d) : 
     dev(d), fd(0), num_blocks(0),
+    lock("BlockDevice::lock"),
     root_queue(this, dev.c_str()),
     io_stop(false), io_threads_started(0), io_threads_running(0), is_idle_waiting(false),
+    complete_lock("BlockDevice::complete_lock"),
     complete_queue_len(0),
     complete_thread(this),
-    idle_kicker(0), kicker_thread(this) { }
+    idle_kicker(0), kicker_lock("BlockDevice::kicker_lock"), kicker_thread(this) { }
   ~BlockDevice() {
     if (fd > 0) close();
   }
index 7ac7bbb6ec2fbc71cd2425371bdeb487de2080ce..ee14f13868ae29c27abd7c87e830d86e4cbee017 100644 (file)
@@ -214,6 +214,7 @@ protected:
 
  public:
   Ebofs(const char *devfn, const char *jfn=0) : 
+    ebofs_lock("Ebofs::ebofs_lock"),
     fake_writes(false),
     dev(devfn), 
     mounted(false), unmounting(false), dirty(false), readonly(false), 
index 0fc65b089823334f2d4611bb0d1c1c4856768dcf..359da65dde7ef1d121ddf646c4c3fe168eeb340c 100644 (file)
@@ -46,7 +46,7 @@ class atomic_t {
   Mutex lock;
   long nref;
 public:
-  atomic_t(int i=0) : lock(false), nref(i) {}
+  atomic_t(int i=0) : lock("atomic_t::lock", false), nref(i) {}
   atomic_t(const atomic_t& other);
   void inc() { 
     lock.Lock();
index 08c49bd51601048b3e84c73344bf66295c7cbc00..5a9f661176f9d2bc3c7f2d941526b9e9747a1e41 100644 (file)
@@ -18,6 +18,7 @@ private:
   hash_map<const char *, stringrec, hash<const char*>, eqstr> stab;
 
 public:
+  stringtable() : lock("stringtable::lock") {}
 
   // @s must be null terminated
   const char *get_cstr(const char *s, int len) {
index 8b1c51a9d413a4a7a3678321115b12c860746160..1b89ef8832fcb5874ef3333e8286423f79e32463 100644 (file)
@@ -73,6 +73,7 @@
 
 // cons/des
 MDS::MDS(int whoami, Messenger *m, MonMap *mm) : 
+  mds_lock("MDS::mds_lock"),
   timer(mds_lock), 
   sessionmap(this) {
 
index a5db8205a0cec284cc3b50b4b9c4cda5e5bb2e48..73d22962c2413ca66a6cfd8e1826e5af78fc57a4 100644 (file)
@@ -11,7 +11,7 @@
 #define dout(x)  if (x <= g_conf.debug || x <= g_conf.debug_mon) *_dout << dbeginl << g_clock.now() << " monclient "
 #define derr(x)  if (x <= g_conf.debug || x <= g_conf.debug_mon) *_derr << dbeginl << g_clock.now() << " monclient "
 
-Mutex monmap_lock;
+Mutex monmap_lock("monmap_lock");
 Cond monmap_cond;
 bufferlist monmap_bl;
 
index 55746159945ba42919130b25aea5f90dc0acff53..bb189c78a2b06ee6b7709684e26e38f3e239004a 100644 (file)
@@ -47,6 +47,7 @@
 Monitor::Monitor(int w, MonitorStore *s, Messenger *m, MonMap *map) :
   whoami(w), 
   messenger(m),
+  lock("Monitor::lock"),
   monmap(map),
   timer(lock), tick_timer(0),
   store(s),
index bdc78e1d7bb713dda7ac9b7d5e10971babec69ca..1adbacd7d7ebf43a488a015dda0dcb4dcc088d33 100644 (file)
@@ -177,6 +177,7 @@ private:
   public:
     Pipe(int st) : 
       sd(-1),
+      lock("Rank::Pipe::lock"),
       state(st), 
       reader_running(false), writer_running(false),
       connect_seq(0), peer_global_seq(0),
@@ -307,6 +308,7 @@ private:
   public:
     EntityMessenger(entity_name_t name, int r) : 
       Messenger(name),
+      lock("Rank::EntityMessenger::lock"),
       stop(false),
       qlen(0),
       my_rank(r),
@@ -376,8 +378,9 @@ private:
   void reaper();
 
 public:
-  Rank() : started(false), need_addr(true),
-          max_local(0), num_local(0) { }
+  Rank() : lock("Rank::lock"), started(false), need_addr(true),
+          max_local(0), num_local(0),
+          global_seq_lock("Rank::global_seq_lock"), global_seq(0) { }
   ~Rank() { }
 
   //void set_listen_addr(tcpaddr_t& a);
index 5b038d855645b0d28a79575e0f9ee29f0628ff2c..13e9e420ffac242dbb9579b4c69479465e1d2e59 100644 (file)
@@ -31,7 +31,7 @@ class FakeCollections {
   hash_map<coll_t, set<pobject_t> > fakecollections;
 
  public:
-  FakeCollections(ObjectStore *s) : store(s) {}
+  FakeCollections(ObjectStore *s) : faker_lock("FakeCollections::faker_lock"), store(s) {}
 
   // faked collections
   int list_collections(vector<coll_t>& ls) {
@@ -184,7 +184,7 @@ class FakeAttrs {
   hash_map<coll_t, FakeAttrSet> fakecattrs;
 
  public:
-  FakeAttrs(ObjectStore *s) : store(s) {}
+  FakeAttrs(ObjectStore *s) : faker_lock("FakeAttrs::faker_lock"), store(s) {}
 
   int setattr(coll_t cid, pobject_t oid, const char *name,
               const void *value, size_t size,
index 6d77a58fec8ec677a22c07fc0e2d1b8dbd4ecacd..6d18a0dbeaf849589ad776eb3da63db00cc2e62c 100644 (file)
@@ -141,6 +141,7 @@ private:
     last_committed_seq(0), 
     full_commit_seq(0), full_restart_seq(0),
     fd(-1),
+    write_lock("FileJournal::write_lock"),
     write_stop(false), write_thread(this) { }
   ~FileJournal() {}
 
index c54099d4b012db13389f74a85c9a75561cb474d7..25b09ae420366d41d74d7553a5f8752e99e68622 100644 (file)
@@ -286,7 +286,7 @@ int FileStore::mkfs()
   return 0;
 }
 
-Mutex sig_lock;
+Mutex sig_lock("FileStore.cc sig_lock");
 Cond sig_cond;
 bool sig_installed = false;
 int sig_pending = 0;
index 7a870992cc8981da02ab248da4385014f0e5e38d..4e3f9b063eeba377cb5007f77f3ecc29ea237f1a 100644 (file)
@@ -82,6 +82,7 @@ class FileStore : public JournalingObjectStore {
     lock_fd(-1),
     attrs(this), fake_attrs(false), 
     collections(this), fake_collections(false),
+    lock("FileStore::lock"),
     stop(false), sync_thread(this) { }
 
   int mount();
index 80b4cc08e6e1d43a6032ab26c9fd0f0c201206a6..028d87d4ad621d9ec6ac4a0a418b8a36791f1926 100644 (file)
@@ -100,7 +100,9 @@ protected:
   }
 
 public:
-  JournalingObjectStore() : op_seq(0), committing_op_seq(0), journal(0) { }
+  JournalingObjectStore() : op_seq(0), committing_op_seq(0), journal(0),
+                           journal_lock("JournalingObjectStore::journal_lock"),
+                           lock("JournalingObjectStore::lock") { }
   
 };
 
index 372f226048d239a97dfbfb68e5ef26eb6136520a..fd05132bd533237909d88305d8a28c912dd459d2 100644 (file)
@@ -254,14 +254,23 @@ void OSD::force_remount()
 LogType osd_logtype;
 
 OSD::OSD(int id, Messenger *m, MonMap *mm, const char *dev) : 
+  osd_lock("OSD::osd_lock"),
   timer(osd_lock),
   whoami(id), dev_name(dev),
   stat_oprate(5.0),
+  peer_stat_lock("OSD::peer_stat_lock"),
   read_latency_calc(g_conf.osd_max_opq<1 ? 1:g_conf.osd_max_opq),
   qlen_calc(3),
   iat_averager(g_conf.osd_flash_crowd_iat_alpha),
+  finished_lock("OSD::finished_lock"),
+  snap_trimmer_lock("OSD::snap_trimmer_lock"),
   snap_trimmer_thread(this),
-  recovery_ops_active(0), recovery_stop(false), recovery_thread(this)
+  pg_stat_queue_lock("OSD::pg_stat_queue_lock"),
+  tid_lock("OSD::tid_lock"),
+  recovery_lock("OSD::recovery_lock"),
+  recovery_ops_active(0), recovery_stop(false),
+  remove_list_lock("OSD::remove_list_lock"),
+  recovery_thread(this)
 {
   messenger = m;
   monmap = mm;
index 01d10d4e3e6d8d7301ce7fba235b6081e7ac4ef3..5eb1565a0cc05fe95a6a7399de8031a78024b57b 100644 (file)
@@ -142,7 +142,7 @@ private:
     double m_Total;
     
   public:
-    MovingAverager(unsigned size) : m_Size(size), m_Total(0) { }
+    MovingAverager(unsigned size) : lock("OSD::MovingAverager::lock"), m_Size(size), m_Total(0) { }
 
     void set_size(unsigned size) {
       m_Size = size;
@@ -182,7 +182,7 @@ private:
     hash_map<object_t, iat_data> iat_map;
 
   public:
-    IATAverager(double a) : alpha(a) {}
+    IATAverager(double a) : lock("IATAverager::lock"),alpha(a) {}
     
     void add_sample(object_t oid, double now) {
       Mutex::Locker locker(lock);
index 0c2f01d094aecbd834b9b3b189548b69048266f5..9fc70af610c05b2f39b666015a0d32447062f29c 100644 (file)
@@ -664,6 +664,7 @@ public:
  public:  
   PG(OSD *o, pg_t p) : 
     osd(o), 
+    _lock("PG::_lock"),
     ref(0), deleted(false),
     info(p),
     recovery_item(this), recovery_ops_active(0),
@@ -673,6 +674,7 @@ public:
     have_master_log(true),
     must_notify_mon(false),
     stat_num_bytes(0), stat_num_kb(0),
+    pg_stats_lock("PG::pg_stats_lock"),
     pg_stats_valid(false),
     finish_sync_event(NULL)
   { }
index aace6bfb9c08921f56b45c1c8c9c18760e9bbda5..82a8cd23f5965dc9863902734f38eb111fd11018 100644 (file)
@@ -1294,6 +1294,7 @@ public:
 
   C_OSD_RepModifyCommit(ReplicatedPG *p, MOSDSubOp *oo, int dosd, eversion_t lc) : 
     pg(p), op(oo), destosd(dosd), pg_last_complete(lc),
+    lock("C_OSD_RepModifyCommit::lock"),
     acked(false), waiting(false) { 
     pg->get();  // we're copying the pointer.
   }
index bfe255c9ece27dcb46796371eca3d314ab68c4b5..e808965af70510fb14ca17353370ab801e572cdc 100644 (file)
@@ -26,7 +26,7 @@ struct io {
 };
 map<off_t,io> writes;
 
-Mutex lock;
+Mutex lock("streamtest.cc lock");
 
 
 void pr(off_t off)