From: xie xingguo Date: Fri, 15 Sep 2017 06:30:47 +0000 (+0800) Subject: os/bluestore: add "bluestore_read_eio" counter X-Git-Tag: v13.0.1~831^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d2d989fcc6a194b9374aeea64e45969b08990262;p=ceph-ci.git os/bluestore: add "bluestore_read_eio" counter To track down how many EIO errors have been propagated to high level callers. Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index b20e3a8494e..477aa6d74ed 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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: diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 218124e66a4..a5d3b8ea09d 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -116,6 +116,7 @@ enum { l_bluestore_blob_split, l_bluestore_extent_compress, l_bluestore_gc_merged, + l_bluestore_read_eio, l_bluestore_last };