]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: add "bluestore_read_eio" counter
authorxie xingguo <xie.xingguo@zte.com.cn>
Fri, 15 Sep 2017 06:30:47 +0000 (14:30 +0800)
committerSage Weil <sage@redhat.com>
Tue, 6 Feb 2018 12:54:22 +0000 (06:54 -0600)
To track down how many EIO errors have been propagated to
high level callers.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit d2d989fcc6a194b9374aeea64e45969b08990262)

src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 395df88374cd0e6292ade73be4154942c66e3fd3..2a414c1efc0d8958d6ee0588537499838dc5411e 100644 (file)
@@ -3966,6 +3966,8 @@ void BlueStore::_init_logger()
   b.add_u64_counter(l_bluestore_gc_merged, "bluestore_gc_merged",
                    "Sum for extents that have been merged due to garbage "
                    "collection");
+  b.add_u64_counter(l_bluestore_read_eio, "bluestore_read_eio",
+                    "Read EIO errors propagated to high level callers");
   logger = b.create_perf_counters();
   cct->get_perfcounters_collection()->add(logger);
 }
@@ -6452,6 +6454,9 @@ int BlueStore::read(
       length = o->onode.size;
 
     r = _do_read(c, o, offset, length, bl, op_flags);
+    if (r == -EIO) {
+      logger->inc(l_bluestore_read_eio);
+    }
   }
 
  out:
index 06cd60f39a793439c1367f3baab9c03333c737c5..580c5aab19834f22706144505235e9b11b32fb16 100644 (file)
@@ -116,6 +116,7 @@ enum {
   l_bluestore_blob_split,
   l_bluestore_extent_compress,
   l_bluestore_gc_merged,
+  l_bluestore_read_eio,
   l_bluestore_last
 };