]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.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)
committerxie xingguo <xie.xingguo@zte.com.cn>
Fri, 15 Sep 2017 06:30:47 +0000 (14:30 +0800)
To track down how many EIO errors have been propagated to
high level callers.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index b20e3a8494e36dbb6960d3cd0083afdaed56d579..477aa6d74ed1b7367ce30363004a198be668acd7 100644 (file)
@@ -3914,6 +3914,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);
 }
@@ -6333,6 +6335,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 218124e66a4b84b5fdf85aeab33cfa056fb1f08f..a5d3b8ea09d2b39ca1713d9dfd2b1b99c44157ed 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
 };