From: John Spray Date: Wed, 25 Oct 2017 13:39:15 +0000 (-0400) Subject: mds: clean up clog damage message when repairing X-Git-Tag: v13.0.1~293^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3160ef2c0a66324621a95926bed0416bbd537353;p=ceph.git mds: clean up clog damage message when repairing If we've repaired then we don't need to be at WRN and we don't need to advise the user to look up the damage detail. Signed-off-by: John Spray --- diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index f12600b8afc98..82c7a9ff2e4c0 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -4098,6 +4098,7 @@ next: dir->scrub_infop->pending_scrub_error) { dir->scrub_infop->pending_scrub_error = false; if (dir->scrub_infop->header->get_repair()) { + results->raw_stats.repaired = true; results->raw_stats.error_str << "dirfrag(" << p->first << ") has bad stats (will be fixed); "; } else { @@ -4116,6 +4117,7 @@ next: results->raw_stats.error_str << "freshly-calculated rstats don't match existing ones (will be fixed)"; in->mdcache->repair_inode_stats(in); + results->raw_stats.repaired = true; } else { results->raw_stats.error_str << "freshly-calculated rstats don't match existing ones"; @@ -4190,6 +4192,18 @@ void CInode::validated_data::dump(Formatter *f) const f->close_section(); // results } +bool CInode::validated_data::all_damage_repaired() const +{ + bool unrepaired = + (raw_stats.checked && !raw_stats.passed && !raw_stats.repaired) + || + (backtrace.checked && !backtrace.passed && !backtrace.repaired) + || + (inode.checked && !inode.passed && !inode.repaired); + + return !unrepaired; +} + void CInode::dump(Formatter *f) const { InodeStoreBase::dump(f); diff --git a/src/mds/CInode.h b/src/mds/CInode.h index 364f42a516c05..01c942c9cf533 100644 --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@ -1141,6 +1141,8 @@ public: passed_validation(false) {} void dump(Formatter *f) const; + + bool all_damage_repaired() const; }; /** diff --git a/src/mds/ScrubStack.cc b/src/mds/ScrubStack.cc index 83ae53abe3336..cb31a93f0fd64 100644 --- a/src/mds/ScrubStack.cc +++ b/src/mds/ScrubStack.cc @@ -396,9 +396,14 @@ void ScrubStack::_validate_inode_done(CInode *in, int r, // Inform the cluster log if we found an error if (!result.passed_validation) { - clog->warn() << "Scrub error on inode " << in->ino() - << " (" << path << ") see " << g_conf->name - << " log and `damage ls` output for details"; + if (result.all_damage_repaired()) { + clog->info() << "Scrub repaired inode " << in->ino() + << " (" << path << ")"; + } else { + clog->warn() << "Scrub error on inode " << in->ino() + << " (" << path << ") see " << g_conf->name + << " log and `damage ls` output for details"; + } // Put the verbose JSON output into the MDS log for later inspection JSONFormatter f;