]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cosd: replace cerr with derr
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 16 Dec 2010 18:53:58 +0000 (10:53 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 16 Dec 2010 22:05:50 +0000 (14:05 -0800)
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
src/cosd.cc
src/osd/OSD.cc

index e60c6e3eb83be7c48ebc3fb76cfba86057aa61b5..a668a6031b4ca3d62f62ea860f25b3984c919813 100644 (file)
@@ -34,11 +34,13 @@ using namespace std;
 #include "common/common_init.h"
 
 #include "include/color.h"
+#include "common/errno.h"
 
 void usage() 
 {
-  cerr << "usage: cosd -i osdid [--osd-data=path] [--osd-journal=path] [--mkfs] [--mkjournal]" << std::endl;
-  cerr << "   --debug_osd N   set debug level (e.g. 10)" << std::endl;
+  derr << "usage: cosd -i osdid [--osd-data=path] [--osd-journal=path] "
+       << "[--mkfs] [--mkjournal]" << dendl;
+  derr << "   --debug_osd N   set debug level (e.g. 10)" << dendl;
   generic_server_usage();
 }
 
@@ -86,7 +88,7 @@ int main(int argc, const char **argv)
     } else if (CONF_ARG_EQ("dump-pg-log", '\0')) {
       CONF_SAFE_SET_ARG_VAL(&dump_pg_log, OPT_STR);
     } else {
-      cerr << "unrecognized arg " << args[i] << std::endl;
+      derr << "unrecognized arg " << args[i] << dendl;
       ARGS_USAGE();
     }
   }
@@ -103,13 +105,14 @@ int main(int argc, const char **argv)
          ::decode(e, p);
        }
        catch (const buffer::error &e) {
-         cerr << "failed to decode LogEntry at offset " << pos << std::endl;
+         derr << "failed to decode LogEntry at offset " << pos << dendl;
          return 1;
        }
-       cout << pos << ":\t" << e << std::endl;
+       derr << pos << ":\t" << e << dendl;
       }
-    } else
-      cerr << "unable to open " << dump_pg_log << ": " << strerror(r) << std::endl;
+    } else {
+      derr << "unable to open " << dump_pg_log << ": " << cpp_strerror(r) << dendl;
+    }
     return 0;
   }
 
@@ -117,12 +120,12 @@ int main(int argc, const char **argv)
   char *end;
   int whoami = strtol(g_conf.id, &end, 10);
   if (*end || end == g_conf.id || whoami < 0) {
-    cerr << "must specify '-i #' where # is the osd number" << std::endl;
+    derr << "must specify '-i #' where # is the osd number" << dendl;
     usage();
   }
 
   if (!g_conf.osd_data) {
-    cerr << "must specify '--osd-data=foo' data path" << std::endl;
+    derr << "must specify '--osd-data=foo' data path" << dendl;
     usage();
   }
 
@@ -132,47 +135,45 @@ int main(int argc, const char **argv)
   if (mc.build_initial_monmap() < 0)
     return -1;
 
-  char buf[80];
   if (mkfs) {
     if (mc.get_monmap_privately() < 0)
       return -1;
 
     int err = OSD::mkfs(g_conf.osd_data, g_conf.osd_journal, mc.monmap.fsid, whoami);
     if (err < 0) {
-      cerr << TEXT_RED << " ** ERROR: error creating empty object store in " << g_conf.osd_data
-          << ": " << strerror_r(-err, buf, sizeof(buf)) << TEXT_NORMAL << std::endl;
+      derr << TEXT_RED << " ** ERROR: error creating empty object store in "
+          << g_conf.osd_data << ": " << cpp_strerror(-err) << TEXT_NORMAL << dendl;
       exit(1);
     }
-    cout << "created object store " << g_conf.osd_data;
+    derr << "created object store " << g_conf.osd_data;
     if (g_conf.osd_journal)
-      cout << " journal " << g_conf.osd_journal;
-    cout << " for osd" << whoami << " fsid " << mc.monmap.fsid << std::endl;
+      *_dout << " journal " << g_conf.osd_journal;
+    *_dout << " for osd" << whoami << " fsid " << mc.monmap.fsid << dendl;
     exit(0);
   }
   if (mkjournal) {
     int err = OSD::mkjournal(g_conf.osd_data, g_conf.osd_journal);
     if (err < 0) {
-      cerr << TEXT_RED << " ** ERROR: error creating fresh journal " << g_conf.osd_journal
+      derr << TEXT_RED << " ** ERROR: error creating fresh journal " << g_conf.osd_journal
           << " for object store " << g_conf.osd_data
-          << ": " << strerror_r(-err, buf, sizeof(buf)) << std::endl;
+          << ": " << cpp_strerror(-err) << dendl;
       exit(1);
     }
-    cout << "created new journal " << g_conf.osd_journal
-        << " for object store " << g_conf.osd_data
-        << std::endl;
+    derr << "created new journal " << g_conf.osd_journal
+        << " for object store " << g_conf.osd_data << dendl;
     exit(0);
   }
   if (flushjournal) {
     int err = OSD::flushjournal(g_conf.osd_data, g_conf.osd_journal);
     if (err < 0) {
-      cerr << TEXT_RED << " ** ERROR: error flushing journal " << g_conf.osd_journal
+      derr << TEXT_RED << " ** ERROR: error flushing journal " << g_conf.osd_journal
           << " for object store " << g_conf.osd_data
-          << ": " << strerror_r(-err, buf, sizeof(buf)) << std::endl;
+          << ": " << cpp_strerror(-err) << dendl;
       exit(1);
     }
-    cout << "flushed journal " << g_conf.osd_journal
+    derr << "flushed journal " << g_conf.osd_journal
         << " for object store " << g_conf.osd_data
-        << std::endl;
+        << dendl;
     exit(0);
   }
   
@@ -181,18 +182,22 @@ int main(int argc, const char **argv)
   int w;
   int r = OSD::peek_meta(g_conf.osd_data, magic, fsid, w);
   if (r < 0) {
-    cerr << TEXT_RED << " ** ERROR: unable to open OSD superblock on " << g_conf.osd_data << ": " << strerror_r(-r, buf, sizeof(buf)) << TEXT_NORMAL << std::endl;
-    if (r == -ENOTSUP)
-      cerr << TEXT_RED << " **        please verify that underlying storage supports xattrs" << TEXT_NORMAL << std::endl;
-    dout(0) << "unable to open OSD superblock on " << g_conf.osd_data << ": " << strerror_r(-r, buf, sizeof(buf)) << dendl;
+    derr << TEXT_RED << " ** ERROR: unable to open OSD superblock on "
+        << g_conf.osd_data << ": " << cpp_strerror(-r)
+        << TEXT_NORMAL << dendl;
+    if (r == -ENOTSUP) {
+      derr << TEXT_RED << " **        please verify that underlying storage "
+          << "supports xattrs" << TEXT_NORMAL << dendl;
+    }
     exit(1);
   }
   if (w != whoami) {
-    cerr << "OSD id " << w << " != my id " << whoami << std::endl;
+    derr << "OSD id " << w << " != my id " << whoami << dendl;
     exit(1);
   }
   if (strcmp(magic.c_str(), CEPH_OSD_ONDISK_MAGIC)) {
-    cerr << "OSD magic " << magic << " != my " << CEPH_OSD_ONDISK_MAGIC << std::endl;
+    derr << "OSD magic " << magic << " != my " << CEPH_OSD_ONDISK_MAGIC
+        << dendl;
     exit(1);
   }
 
@@ -200,9 +205,9 @@ int main(int argc, const char **argv)
   bool cluster_addr_set = !g_conf.cluster_addr.is_blank_addr();
 
   if (cluster_addr_set && !client_addr_set) {
-    cerr << TEXT_RED << " ** "
+    derr << TEXT_RED << " ** "
          << "WARNING: set cluster address but not client address!" << " **\n"
-         << "using cluster address for clients" << TEXT_NORMAL << std::endl;
+         << "using cluster address for clients" << TEXT_NORMAL << dendl;
     g_conf.public_addr = g_conf.cluster_addr;
     client_addr_set = true;
     cluster_addr_set = false;
@@ -229,11 +234,11 @@ int main(int argc, const char **argv)
 
   messenger_hb->bind(hb_addr);
 
-  cout << "starting osd" << whoami
+  derr << "starting osd" << whoami
        << " at " << client_messenger->get_ms_addr() 
        << " osd_data " << g_conf.osd_data
        << " " << ((g_conf.osd_journal && g_conf.osd_journal[0]) ? g_conf.osd_journal:"(no journal)")
-       << std::endl;
+       << dendl;
 
   client_messenger->register_entity(entity_name_t::OSD(whoami));
   cluster_messenger->register_entity(entity_name_t::OSD(whoami));
@@ -269,8 +274,8 @@ int main(int argc, const char **argv)
 
   int err = osd->pre_init();
   if (err < 0) {
-    char buf[80];
-    cerr << TEXT_RED << " ** ERROR: initializing osd failed: " << strerror_r(-err, buf, sizeof(buf)) << TEXT_NORMAL << std::endl;
+    derr << TEXT_RED << " ** ERROR: initializing osd failed: " << cpp_strerror(-err)
+        << TEXT_NORMAL << dendl;
     return 1;
   }
 
@@ -280,7 +285,8 @@ int main(int argc, const char **argv)
 
   // start osd
   if (osd->init() < 0) {
-    cerr << TEXT_RED << " ** ERROR: initializing osd failed: " << strerror_r(-err, buf, sizeof(buf)) << TEXT_NORMAL << std::endl;
+    derr << TEXT_RED << " ** ERROR: initializing osd failed: " << cpp_strerror(-err)
+         << TEXT_NORMAL << dendl;
     return 1;
   }
 
@@ -302,4 +308,3 @@ int main(int argc, const char **argv)
 
   return 0;
 }
-
index a8b9f5ca3e5c4757cfe06b51ab818082dda917ae..c48fc9e10b43eccbbf422ef9fa186d92367ef8bc 100644 (file)
@@ -83,6 +83,8 @@
 
 #include "auth/AuthAuthorizeHandler.h"
 
+#include "common/errno.h"
+
 #include <iostream>
 #include <errno.h>
 #include <sys/stat.h>
@@ -442,13 +444,13 @@ int OSD::pre_init()
   assert(!store);
   store = create_object_store(dev_path, journal_path);
   if (!store) {
-    dout(0) << " unable to create object store" << dendl;
+    derr << __PRETTY_FUNCTION__ << ": unable to create object store" << dendl;
     return -ENODEV;
   }
 
   if (store->test_mount_in_use()) {
-    dout(0) << "object store " << dev_path << " is currently in use" << dendl;
-    cout << "object store " << dev_path << " is currently in use (cosd already running?)" << std::endl;
+    derr << __PRETTY_FUNCTION__ << ": object store '" << dev_path << "' is "
+         << "currently in use. (Is cosd already running?)" << dendl;
     return -EBUSY;
   }
   return 0;
@@ -468,7 +470,7 @@ int OSD::init()
 
   int r = store->mount();
   if (r < 0) {
-    dout(0) << " unable to mount object store" << dendl;
+    derr << __PRETTY_FUNCTION__ << ": unable to mount object store" << dendl;
     return r;
   }
 
@@ -477,7 +479,7 @@ int OSD::init()
   // read superblock
   r = read_superblock();
   if (r < 0) {
-    dout(0) << " unable to read osd superblock" << dendl;
+    derr << __PRETTY_FUNCTION__ << ": unable to read osd superblock" << dendl;
     store->umount();
     delete store;
     return -1;
@@ -491,7 +493,7 @@ int OSD::init()
   // load up "current" osdmap
   assert_warn(!osdmap);
   if (osdmap) {
-    dout(0) << " unable to read current osdmap" << dendl;
+    derr << __PRETTY_FUNCTION__ << ": unable to read current osdmap" << dendl;
     return -1;
   }
   osdmap = new OSDMap;
@@ -517,7 +519,8 @@ int OSD::init()
   dout(2) << "superblock: i am osd" << superblock.whoami << dendl;
   assert_warn(whoami == superblock.whoami);
   if (whoami != superblock.whoami) {
-    dout(0) << "wtf, superblock says osd" << superblock.whoami << " but i am osd" << whoami << dendl;
+    derr << __PRETTY_FUNCTION__ << ": logic error: superblock says osd"
+        << superblock.whoami << " but i am osd" << whoami << dendl;
     return -EINVAL;
   }
 
@@ -649,7 +652,7 @@ int OSD::shutdown()
   g_conf.debug_ebofs = 100;
   g_conf.debug_ms = 100;
   
-  dout(1) << "shutdown." << dendl;
+  derr << __PRETTY_FUNCTION__ << dendl;
 
   state = STATE_STOPPING;
 
@@ -720,8 +723,8 @@ int OSD::shutdown()
   write_superblock(t);
   int r = store->apply_transaction(t);
   if (r) {
-    char buf[80];
-    dout(0) << "error writing superblock " << r << " " << strerror_r(-r, buf, sizeof(buf)) << dendl;
+    derr << __PRETTY_FUNCTION__ << ": error writing superblock: "
+        << cpp_strerror(r) << dendl;
   }
 
   // flush data to disk
@@ -783,25 +786,25 @@ int OSD::read_superblock()
 
   dout(10) << "read_superblock " << superblock << dendl;
   if (osd_compat.compare(superblock.compat_features) < 0) {
-    dout(0) << "The disk uses features unsupported by the executable." << dendl;
-    dout(0) << " ondisk features " << superblock.compat_features << dendl;
-    dout(0) << " daemon features " << osd_compat << dendl;
+    derr << "The disk uses features unsupported by the executable." << dendl;
+    derr << " ondisk features " << superblock.compat_features << dendl;
+    derr << " daemon features " << osd_compat << dendl;
 
     if (osd_compat.writeable(superblock.compat_features)) {
-      dout(0) << "it is still writeable, though. Missing features:" << dendl;
+      derr << "it is still writeable, though. Missing features:" << dendl;
       CompatSet diff = osd_compat.unsupported(superblock.compat_features);
       return -EOPNOTSUPP;
     }
     else {
-      dout(0) << "Cannot write to disk! Missing features:" << dendl;
+      derr << "Cannot write to disk! Missing features:" << dendl;
       CompatSet diff = osd_compat.unsupported(superblock.compat_features);
       return -EOPNOTSUPP;
     }
   }
 
   if (whoami != superblock.whoami) {
-    dout(0) << "read_superblock superblock says osd" << superblock.whoami
-           << ", but i (think i) am osd" << whoami << dendl;
+    derr << "read_superblock superblock says osd" << superblock.whoami
+         << ", but i (think i) am osd" << whoami << dendl;
     return -1;
   }
   
@@ -1451,9 +1454,9 @@ void OSD::heartbeat_check()
        p++) {
     if (heartbeat_from_stamp.count(p->first) &&
        heartbeat_from_stamp[p->first] < grace) {
-      dout(0) << "heartbeat_check: no heartbeat from osd" << p->first
-             << " since " << heartbeat_from_stamp[p->first]
-             << " (cutoff " << grace << ")" << dendl;
+      derr << "heartbeat_check: no heartbeat from osd" << p->first
+          << " since " << heartbeat_from_stamp[p->first]
+          << " (cutoff " << grace << ")" << dendl;
       queue_failure(p->first);
 
     }
@@ -1465,7 +1468,7 @@ void OSD::heartbeat()
   utime_t now = g_clock.now();
 
   if (got_sigterm) {
-    dout(0) << "got SIGTERM, shutting down" << dendl;
+    derr << "got SIGTERM, shutting down" << dendl;
     Message *m = new MGenericMessage(CEPH_MSG_SHUTDOWN);
     m->set_priority(CEPH_MSG_PRIO_HIGHEST);
     cluster_messenger->send_message(m, cluster_messenger->get_myinst());
@@ -1481,9 +1484,12 @@ void OSD::heartbeat()
       logger->fset(l_osd_loadavg, oneminavg);
       in.close();
     }
+    else {
+      derr << "heartbeat: failed to open /proc/loadavg" << dendl;
+    }
   }
   catch (const ios::failure &f) {
-    dout(0) << "heartbeat: failed to read /proc/loadavg" << dendl;
+    derr << "heartbeat: failed to read /proc/loadavg" << dendl;
   }
 
   // calc my stats
@@ -1546,7 +1552,7 @@ void OSD::tick()
   logger->set(l_osd_buf, buffer_total_alloc.read());
 
   if (got_sigterm) {
-    dout(0) << "got SIGTERM, shutting down" << dendl;
+    derr << "got SIGTERM, shutting down" << dendl;
     cluster_messenger->send_message(new MGenericMessage(CEPH_MSG_SHUTDOWN),
                            cluster_messenger->get_myinst());
     return;
@@ -2929,8 +2935,7 @@ void OSD::handle_osd_map(MOSDMap *m)
   int r = store->apply_transaction(t, fin);
   if (r) {
     map_lock.put_write();
-    char buf[80];
-    dout(0) << "error writing map: " << r << " " << strerror_r(-r, buf, sizeof(buf)) << dendl;
+    derr << "error writing map: " << cpp_strerror(-r) << dendl;
     m->put();
     shutdown();
     return;
@@ -3477,7 +3482,7 @@ bool OSD::require_same_or_newer_map(Message *m, epoch_t epoch)
     int from = m->get_source().num();
     if (!osdmap->have_inst(from) ||
        osdmap->get_cluster_addr(from) != m->get_source_inst().addr) {
-      dout(-7) << "from dead osd" << from << ", dropping, sharing map" << dendl;
+      dout(0) << "from dead osd" << from << ", dropping, sharing map" << dendl;
       send_incremental_map(epoch, m->get_source_inst(), true);
       m->put();
       return false;