From: Neeraj Pratap Singh Date: Wed, 9 Nov 2022 06:43:37 +0000 (+0530) Subject: mds: avoid ~mdsdir's scrubbing and reporting damage health status X-Git-Tag: v16.2.13~111^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3561c14cefb8f17ea86dbedb6f259b67826bdcf3;p=ceph.git mds: avoid ~mdsdir's scrubbing and reporting damage health status Setting backtrace.passed as true in case of mdsdir, as we are not having any backtrace.It would prevent the entry in the damage table and hence prevent the HEALTH_ERR. Fixes: https://tracker.ceph.com/issues/58030 Signed-off-by: Neeraj Pratap Singh (cherry picked from commit ab2b23ba697ab944516d92860652c839c427cb50) --- diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 07517eeb7007..6fa2c4eb82ef 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -4693,6 +4693,10 @@ void CInode::validate_disk_state(CInode::validated_data *results, results->backtrace.error_str << "failed to read off disk; see retval"; // we probably have a new unwritten file! // so skip the backtrace scrub for this entry and say that all's well + if (in->is_mdsdir()){ + dout(20) << "forcing backtrace as passed since mdsdir actually doesn't have backtrace" << dendl; + results->backtrace.passed = true; + } if (in->is_dirty_parent()) { dout(20) << "forcing backtrace as passed since inode is dirty parent" << dendl; results->backtrace.passed = true;