]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: prefix fsck errors with 'fsck error:'
authorSage Weil <sage@redhat.com>
Tue, 4 Apr 2017 15:27:55 +0000 (11:27 -0400)
committerSage Weil <sage@redhat.com>
Tue, 4 Apr 2017 15:28:29 +0000 (11:28 -0400)
Greppable!

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 71b4b119c8ca5fd4f3604de3bce24eb693d32b19..53e31d4c7c5da7863816c269b8ee6c7c62df2dfb 100644 (file)
@@ -5050,7 +5050,7 @@ int BlueStore::fsck(bool deep)
       if (is_extent_shard_key(it->key())) {
        while (!expecting_shards.empty() &&
               expecting_shards.front() < it->key()) {
-         derr << __func__ << " missing shard key "
+         derr << __func__ << " error: missing shard key "
               << pretty_binary_string(expecting_shards.front())
               << dendl;
          ++errors;
@@ -5066,18 +5066,18 @@ int BlueStore::fsck(bool deep)
         uint32_t offset;
         string okey;
         get_key_extent_shard(it->key(), &okey, &offset);
-        derr << __func__ << " stray shard 0x" << std::hex << offset << std::dec
-             << dendl;
+        derr << __func__ << " error: stray shard 0x" << std::hex << offset
+            << std::dec << dendl;
         if (expecting_shards.empty()) {
-          derr << __func__ << pretty_binary_string(it->key())
+          derr << __func__ << " error: " << pretty_binary_string(it->key())
                << " is unexpected" << dendl;
           ++errors;
           continue;
         }
        while (expecting_shards.front() > it->key()) {
-         derr << __func__ << "   saw " << pretty_binary_string(it->key())
+         derr << __func__ << " error:   saw " << pretty_binary_string(it->key())
               << dendl;
-         derr << __func__ << "   exp "
+         derr << __func__ << " error:   exp "
               << pretty_binary_string(expecting_shards.front()) << dendl;
          ++errors;
          expecting_shards.pop_front();
@@ -5091,7 +5091,7 @@ int BlueStore::fsck(bool deep)
       ghobject_t oid;
       int r = get_key_object(it->key(), &oid);
       if (r < 0) {
-        derr << __func__ << "  bad object key "
+        derr << __func__ << " error: bad object key "
              << pretty_binary_string(it->key()) << dendl;
        ++errors;
        continue;
@@ -5111,7 +5111,7 @@ int BlueStore::fsck(bool deep)
          }
        }
        if (!c) {
-          derr << __func__ << "  stray object " << oid
+          derr << __func__ << " error: stray object " << oid
                << " not owned by any collection" << dendl;
          ++errors;
          continue;
@@ -5122,7 +5122,7 @@ int BlueStore::fsck(bool deep)
 
       if (!expecting_shards.empty()) {
        for (auto &k : expecting_shards) {
-         derr << __func__ << " missing shard key "
+         derr << __func__ << " error: missing shard key "
               << pretty_binary_string(k) << dendl;
        }
        ++errors;
@@ -5134,12 +5134,12 @@ int BlueStore::fsck(bool deep)
       OnodeRef o = c->get_onode(oid, false);
       if (o->onode.nid) {
        if (o->onode.nid > nid_max) {
-         derr << __func__ << " " << oid << " nid " << o->onode.nid
+         derr << __func__ << " error: " << oid << " nid " << o->onode.nid
               << " > nid_max " << nid_max << dendl;
          ++errors;
        }
        if (used_nids.count(o->onode.nid)) {
-         derr << __func__ << " " << oid << " nid " << o->onode.nid
+         derr << __func__ << " error: " << oid << " nid " << o->onode.nid
               << " already in use" << dendl;
          ++errors;
          continue; // go for next object
@@ -5161,7 +5161,7 @@ int BlueStore::fsck(bool deep)
        get_extent_shard_key(o->key, s.shard_info->offset,
                             &expecting_shards.back());
        if (s.shard_info->offset >= o->onode.size) {
-         derr << __func__ << " " << oid << " shard 0x" << std::hex
+         derr << __func__ << " error: " << oid << " shard 0x" << std::hex
               << s.shard_info->offset << " past EOF at 0x" << o->onode.size
               << std::dec << dendl;
          ++errors;
@@ -5173,14 +5173,14 @@ int BlueStore::fsck(bool deep)
       for (auto& l : o->extent_map.extent_map) {
        dout(20) << __func__ << "    " << l << dendl;
        if (l.logical_offset < pos) {
-         derr << __func__ << " " << oid << " lextent at 0x"
+         derr << __func__ << " error: " << oid << " lextent at 0x"
               << std::hex << l.logical_offset
               << " overlaps with the previous, which ends at 0x" << pos
               << std::dec << dendl;
          ++errors;
        }
        if (o->extent_map.spans_shard(l.logical_offset, l.length)) {
-         derr << __func__ << " " << oid << " lextent at 0x"
+         derr << __func__ << " error: " << oid << " lextent at 0x"
               << std::hex << l.logical_offset << "~" << l.length
               << " spans a shard boundary"
               << std::dec << dendl;
@@ -5207,7 +5207,7 @@ int BlueStore::fsck(bool deep)
        const bluestore_blob_t& blob = i.first->get_blob();
        bool equal = i.first->get_blob_use_tracker().equal(i.second);
        if (!equal) {
-         derr << __func__ << " " << oid << " blob " << *i.first
+         derr << __func__ << " error: " << oid << " blob " << *i.first
               << " doesn't match expected ref_map " << i.second << dendl;
          ++errors;
        }
@@ -5218,12 +5218,12 @@ int BlueStore::fsck(bool deep)
        }
        if (blob.is_shared()) {
          if (i.first->shared_blob->get_sbid() > blobid_max) {
-           derr << __func__ << " " << oid << " blob " << blob
+           derr << __func__ << " error: " << oid << " blob " << blob
                 << " sbid " << i.first->shared_blob->get_sbid() << " > blobid_max "
                 << blobid_max << dendl;
            ++errors;
          } else if (i.first->shared_blob->get_sbid() == 0) {
-            derr << __func__ << " " << oid << " blob " << blob
+            derr << __func__ << " error: " << oid << " blob " << blob
                  << " marked as shared but has uninitialized sbid"
                  << dendl;
             ++errors;
@@ -5249,14 +5249,14 @@ int BlueStore::fsck(bool deep)
        int r = _do_read(c.get(), o, 0, o->onode.size, bl, 0);
        if (r < 0) {
          ++errors;
-         derr << __func__ << " " << oid << " error during read: "
+         derr << __func__ << " error: " << oid << " error during read: "
               << cpp_strerror(r) << dendl;
        }
       }
       // omap
       if (o->onode.has_omap()) {
        if (used_omap_head.count(o->onode.nid)) {
-         derr << __func__ << " " << oid << " omap_head " << o->onode.nid
+         derr << __func__ << " error: " << oid << " omap_head " << o->onode.nid
               << " already in use" << dendl;
          ++errors;
        } else {
@@ -5272,14 +5272,14 @@ int BlueStore::fsck(bool deep)
       string key = it->key();
       uint64_t sbid;
       if (get_key_shared_blob(key, &sbid)) {
-       derr << __func__ << " bad key '" << key << "' in shared blob namespace"
-            << dendl;
+       derr << __func__ << " error: bad key '" << key
+            << "' in shared blob namespace" << dendl;
        ++errors;
        continue;
       }
       auto p = sb_info.find(sbid);
       if (p == sb_info.end()) {
-       derr << __func__ << " found stray shared blob data for sbid 0x"
+       derr << __func__ << " error: found stray shared blob data for sbid 0x"
             << std::hex << sbid << std::dec << dendl;
        ++errors;
       } else {
@@ -5291,9 +5291,9 @@ int BlueStore::fsck(bool deep)
        ::decode(shared_blob, blp);
        dout(20) << __func__ << "  " << *sbi.sb << " " << shared_blob << dendl;
        if (shared_blob.ref_map != sbi.ref_map) {
-         derr << __func__ << " shared blob 0x" << std::hex << sbid << std::dec
-              << " ref_map " << shared_blob.ref_map << " != expected "
-              << sbi.ref_map << dendl;
+         derr << __func__ << " error: shared blob 0x" << std::hex << sbid
+              << std::dec << " ref_map " << shared_blob.ref_map
+              << " != expected " << sbi.ref_map << dendl;
          ++errors;
        }
        PExtentVector extents;
@@ -5309,12 +5309,12 @@ int BlueStore::fsck(bool deep)
     }
   }
   for (auto &p : sb_info) {
-    derr << __func__ << " shared_blob 0x" << p.first << " key is missing ("
-        << *p.second.sb << ")" << dendl;
+    derr << __func__ << " error: shared_blob 0x" << p.first
+        << " key is missing (" << *p.second.sb << ")" << dendl;
     ++errors;
   }
   if (!(actual_statfs == expected_statfs)) {
-    derr << __func__ << " actual " << actual_statfs
+    derr << __func__ << " error: actual " << actual_statfs
         << " != expected " << expected_statfs << dendl;
     ++errors;
   }
@@ -5326,8 +5326,8 @@ int BlueStore::fsck(bool deep)
       uint64_t omap_head;
       _key_decode_u64(it->key().c_str(), &omap_head);
       if (used_omap_head.count(omap_head) == 0) {
-       derr << __func__ << " found stray omap data on omap_head " << omap_head
-            << dendl;
+       derr << __func__ << " error: found stray omap data on omap_head "
+            << omap_head << dendl;
        ++errors;
       }
     }
@@ -5343,7 +5343,7 @@ int BlueStore::fsck(bool deep)
       try {
        ::decode(wt, p);
       } catch (buffer::error& e) {
-       derr << __func__ << " failed to decode deferred txn "
+       derr << __func__ << " error: failed to decode deferred txn "
             << pretty_binary_string(it->key()) << dendl;
        r = -EIO;
         goto out_scan;
@@ -5389,7 +5389,7 @@ int BlueStore::fsck(bool deep)
         }
       );
       if (intersects) {
-       derr << __func__ << " free extent 0x" << std::hex << offset
+       derr << __func__ << " error: free extent 0x" << std::hex << offset
             << "~" << length << std::dec
             << " intersects allocated blocks" << dendl;
        ++errors;
@@ -5398,7 +5398,7 @@ int BlueStore::fsck(bool deep)
     size_t count = used_blocks.count();
     if (used_blocks.size() != count) {
       assert(used_blocks.size() > count);
-      derr << __func__ << " leaked some space;"
+      derr << __func__ << " error: leaked some space;"
           << (used_blocks.size() - count) * min_alloc_size
           << " bytes leaked" << dendl;
       ++errors;