Project

General

Profile

Actions

Bug #42251

closed

mds: no assert on frozen dir when scrub path

Added by Zhi Zhang over 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
nautilus,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
multimds
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

2019-09-11 15:51:21.956268 7f2f4fc33700 -1 /data/build_ceph/ceph/src/mds/CDir.cc: In function 'bool CDir::check_rstats(bool)' thread 7f2f4fc33700 time 2019-09-11 15:51:21.953352
/data/build_ceph/ceph/src/mds/CDir.cc: 223: FAILED assert(!scrub)

 ceph version 12.2.8-202-gbd8bd40893 (bd8bd40893263bd169302fb3f577c93d76c4c757) luminous (stable)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x110) [0x7f2f5e193b10]
 2: (CDir::check_rstats(bool)+0x1342) [0x7f2f5e0438e2]
 3: (CDir::scrub_local()+0x1b) [0x7f2f5e047eab]
 4: (()+0x51f728) [0x7f2f5e085728]
 5: (()+0x52a67e) [0x7f2f5e09067e]
 6: (Continuation::_continue_function(int, int)+0x1aa) [0x7f2f5e09effa]
 7: (Continuation::Callback::finish(int)+0x10) [0x7f2f5e09f0e0]
 8: (Context::complete(int)+0x9) [0x7f2f5de34b29]
 9: (MDSIOContextBase::complete(int)+0xa4) [0x7f2f5e0db594]
 10: (Finisher::finisher_thread_entry()+0x198) [0x7f2f5e192a88]
 11: (()+0x7dc5) [0x7f2f5bc55dc5]
 12: (clone()+0x6d) [0x7f2f5ad3b29d

This seems too strict and unnecessary for asok command "scrub_path" to assert when it checked a frozen dir's rstat (The complete and auth flags had already been checked before). MDS will also check dir's rstat internally and won't assert even if dir is frozen. So when doing scrub_path, we could return false instead assert directly. The worst case for scrub path is doing nothing or doing one unnecessary repair job.


Related issues 2 (0 open2 closed)

Copied to CephFS - Backport #42649: mimic: mds: no assert on frozen dir when scrub path RejectedActions
Copied to CephFS - Backport #42650: nautilus: mds: no assert on frozen dir when scrub path ResolvedNathan CutlerActions
Actions

Also available in: Atom PDF