From 5dbc0f9dbf748abfd972fac49a29893a733fb7a8 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 18 Apr 2018 18:49:59 +0800 Subject: [PATCH] mds: don't mark primary dentry damaged if inode has been repaired Signed-off-by: "Yan, Zheng" --- src/mds/ScrubStack.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mds/ScrubStack.cc b/src/mds/ScrubStack.cc index 59bab33878940..05fd1eb2f2c3b 100644 --- a/src/mds/ScrubStack.cc +++ b/src/mds/ScrubStack.cc @@ -377,13 +377,14 @@ void ScrubStack::_validate_inode_done(CInode *in, int r, in->make_path_string(path, true); } - if (result.backtrace.checked && !result.backtrace.passed - && !result.backtrace.repaired) + if (result.backtrace.checked && !result.backtrace.passed && + !result.backtrace.repaired) { // Record backtrace fails as remote linkage damage, as // we may not be able to resolve hard links to this inode mdcache->mds->damage_table.notify_remote_damaged(in->inode.ino, path); - } else if (result.inode.checked && !result.inode.passed) { + } else if (result.inode.checked && !result.inode.passed && + !result.inode.repaired) { // Record damaged inode structures as damaged dentries as // that is where they are stored auto parent = in->get_projected_parent_dn(); -- 2.39.5