]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
debug: ensure a SIGHUP reopens log reasonably soon
authorSage Weil <sage@newdream.net>
Fri, 27 Feb 2009 04:27:56 +0000 (20:27 -0800)
committerSage Weil <sage@newdream.net>
Fri, 27 Feb 2009 04:27:56 +0000 (20:27 -0800)
Since nothing new may be written to the log for a while, check if it needs
to be reopened in the mds/osd/mon tick() method.

src/common/debug.h
src/mds/MDS.cc
src/mon/Monitor.cc
src/osd/OSD.cc

index be4c14d38391f83d52816d3bd1b874d475db81a4..f5e5433a6135b920f98b3136b04fedf4a76a32b7 100644 (file)
@@ -24,6 +24,12 @@ extern void _dout_open_log();
 extern int _dout_rename_output_file();  // after calling daemon()
 extern int _dout_create_courtesy_output_symlink(const char *type, int n);
 
+static inline void _dout_check_log() {
+  _dout_lock.Lock();
+  if (_dout_need_open)
+    _dout_open_log();
+  _dout_lock.Unlock();
+}
 
 static inline void _dout_begin_line() {
   _dout_lock.Lock();
index 133742dece6b2f282d8289e050490422e3bd5c55..75ff5dc115ca30753a4321e5bbffecd25e7ae992 100644 (file)
@@ -384,6 +384,8 @@ void MDS::tick()
   // reschedule
   reset_tick();
 
+  _dout_check_log();
+
   logclient.send_log();
 
   if (laggy)
index 1cf64c73dd8fbedf051132475d631fc7c1efcf55..53ed06603c46763e6aba4f5cb761f90d1bb60168 100644 (file)
@@ -505,6 +505,8 @@ void Monitor::tick()
 {
   tick_timer = 0;
 
+  _dout_check_log();
+
   // ok go.
   dout(11) << "tick" << dendl;
   
index 40ffdf3bb928dadbde7ace442c3510247f764e0f..5e45a97e09a6a2908eccb0dbb9a7f107a9bba085 100644 (file)
@@ -1083,6 +1083,8 @@ void OSD::tick()
   assert(osd_lock.is_locked());
   dout(5) << "tick" << dendl;
 
+  _dout_check_log();
+
   if (got_sigterm) {
     dout(0) << "got SIGTERM, shutting down" << dendl;
     messenger->send_message(new MGenericMessage(CEPH_MSG_SHUTDOWN),