From: John Spray Date: Wed, 6 Apr 2016 11:04:30 +0000 (+0100) Subject: mds: health metric for being read only X-Git-Tag: v10.1.2~3^2^2~2^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ddcf415efa01e09178e4f602ce06c5c13eb5699;p=ceph.git mds: health metric for being read only This is the state we get after an OSD write error, so it's definitely something we want to tell the user about in ceph status. Signed-off-by: John Spray --- diff --git a/src/mds/Beacon.cc b/src/mds/Beacon.cc index 16f20badc749..9a07b915974f 100644 --- a/src/mds/Beacon.cc +++ b/src/mds/Beacon.cc @@ -443,6 +443,13 @@ void Beacon::notify_health(MDSRank const *mds) large_completed_requests_metrics.clear(); } } + + // Report a health warning if we are readonly + if (mds->mdcache->is_readonly()) { + MDSHealthMetric m(MDS_HEALTH_READ_ONLY, HEALTH_WARN, + "MDS in read-only mode"); + health.metrics.push_back(m); + } } MDSMap::DaemonState Beacon::get_want_state() const diff --git a/src/messages/MMDSBeacon.h b/src/messages/MMDSBeacon.h index a15507560a65..727aaad71474 100644 --- a/src/messages/MMDSBeacon.h +++ b/src/messages/MMDSBeacon.h @@ -37,7 +37,8 @@ enum mds_metric_t { MDS_HEALTH_CLIENT_LATE_RELEASE_MANY, MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY, - MDS_HEALTH_DAMAGE + MDS_HEALTH_DAMAGE, + MDS_HEALTH_READ_ONLY }; /**