]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: no assert on frozen dir when scrub path
authorZhi Zhang <willzzhang@tencent.com>
Fri, 11 Oct 2019 03:10:48 +0000 (11:10 +0800)
committerZhi Zhang <willzzhang@tencent.com>
Fri, 11 Oct 2019 03:10:48 +0000 (11:10 +0800)
It's too strict and unnecessary for asok command "scrub_path" to
assert when it checked a frozen dir's rstat, just return false instead.

Fixes: https://tracker.ceph.com/issues/42251
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
src/mds/CDir.cc

index 231737dd9f42a9964fc0796a05c7b3f88d11ae08..771eb4a890a74f86d1241705b853482729c4b3f5 100644 (file)
@@ -221,9 +221,10 @@ bool CDir::check_rstats(bool scrub)
 
   dout(25) << "check_rstats on " << this << dendl;
   if (!is_complete() || !is_auth() || is_frozen()) {
-    ceph_assert(!scrub);
-    dout(10) << "check_rstats bailing out -- incomplete or non-auth or frozen dir!" << dendl;
-    return true;
+    dout(3) << "check_rstats " << (scrub ? "(scrub) " : "")
+            << "bailing out -- incomplete or non-auth or frozen dir on " 
+            << *this << dendl;
+    return !scrub;
   }
 
   frag_info_t frag_info;