]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
maybe_request_map cleanup; uninit var fix
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Sat, 6 Oct 2007 03:27:13 +0000 (03:27 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Sat, 6 Oct 2007 03:27:13 +0000 (03:27 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1887 29311d96-e01e-0410-9327-a35deaab8ce9

branches/sage/mds/osdc/Objecter.cc
branches/sage/mds/osdc/Objecter.h

index 9d31d023ed56e28fcd1e7f5b9dce3410918797ab..e6efee1aa4a33d537713405e84ef169be9e37667 100644 (file)
@@ -130,15 +130,18 @@ void Objecter::handle_osd_map(MOSDMap *m)
 void Objecter::maybe_request_map()
 {
   utime_t now;
-
-  if (last_epoch_requested <= osdmap->get_epoch() ||
-      (now = g_clock.now()) - last_epoch_requested_stamp > g_conf.objecter_map_request_interval) {
-    dout(10) << "maybe_request_map requesting next osd map" << dendl;
-    last_epoch_requested_stamp = now;
-    last_epoch_requested = osdmap->get_epoch()+1;
-    messenger->send_message(new MOSDGetMap(osdmap->get_epoch(), last_epoch_requested),
-                           monmap->get_inst(monmap->pick_mon()));
-  }
+  if (!osdmap) goto yes;
+  if (last_epoch_requested <= osdmap->get_epoch()) goto yes;
+  now = g_clock.now();
+  if (now - last_epoch_requested_stamp > g_conf.objecter_map_request_interval) goto yes;
+  return;
+  
+ yes:
+  dout(10) << "maybe_request_map requesting next osd map" << dendl;
+  last_epoch_requested_stamp = now;
+  last_epoch_requested = osdmap->get_epoch()+1;
+  messenger->send_message(new MOSDGetMap(osdmap->get_epoch(), last_epoch_requested),
+                         monmap->get_inst(monmap->pick_mon()));
 }
 
 
index 30b1c3840a0c4c11023f055cad0bd65a8511e42c..ed5c44745604e24f80f41a9e05808105a2eccdab 100644 (file)
@@ -172,6 +172,7 @@ class Objecter {
     messenger(m), monmap(mm), osdmap(om), 
     last_tid(0), client_inc(-1),
     num_unacked(0), num_uncommitted(0),
+    last_epoch_requested(0),
     client_lock(l), timer(l)
   { }
   ~Objecter() { }