From d034945ba27ad9a8ae5bbc97188a9668c6966a9f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 17 Feb 2018 10:14:10 -0600 Subject: [PATCH] os: do not inject read EIO on meta pool objects Avoid EIO on, say, osdmaps until we fix http://tracker.ceph.com/issues/23029 Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 6 ++++-- src/os/filestore/FileStore.cc | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index bd38f32cb1b..ecd0a1bca71 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6622,8 +6622,10 @@ int BlueStore::read( if (r >= 0 && _debug_data_eio(oid)) { r = -EIO; derr << __func__ << " " << c->cid << " " << oid << " INJECT EIO" << dendl; - } else if (cct->_conf->bluestore_debug_random_read_err && - (rand() % (int)(cct->_conf->bluestore_debug_random_read_err * 100.0)) == 0) { + } else if (oid.hobj.pool > 0 && /* FIXME, see #23029 */ + cct->_conf->bluestore_debug_random_read_err && + (rand() % (int)(cct->_conf->bluestore_debug_random_read_err * + 100.0)) == 0) { dout(0) << __func__ << ": inject random EIO" << dendl; r = -EIO; } diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc index a3c4557bf13..6a0fd8603c6 100644 --- a/src/os/filestore/FileStore.cc +++ b/src/os/filestore/FileStore.cc @@ -3334,8 +3334,10 @@ int FileStore::read( if (cct->_conf->filestore_debug_inject_read_err && debug_data_eio(oid)) { return -EIO; - } else if (cct->_conf->filestore_debug_random_read_err && - (rand() % (int)(cct->_conf->filestore_debug_random_read_err * 100.0)) == 0) { + } else if (oid.hobj.pool > 0 && /* FIXME, see #23029 */ + cct->_conf->filestore_debug_random_read_err && + (rand() % (int)(cct->_conf->filestore_debug_random_read_err * + 100.0)) == 0) { dout(0) << __func__ << ": inject random EIO" << dendl; return -EIO; } else { -- 2.39.5