So admin can restore access to files if necessary.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
services:
- mds
fmt_desc: MDS will abort if dentry is detected newly corrupted.
+- name: mds_go_bad_corrupt_dentry
+ type: bool
+ level: advanced
+ default: true
+ services:
+ - mds
+ fmt_desc: MDS will mark a corrupt dentry as bad and isolate
+ flags:
+ - runtime
- name: mds_inject_rename_corrupt_dentry_first
type: float
level: dev
} else {
derr << "newly corrupt dentry to be committed: " << *this << dendl;
}
- dir->go_bad_dentry(last, get_name());
+ if (g_conf().get_val<bool>("mds_go_bad_corrupt_dentry")) {
+ dir->go_bad_dentry(last, get_name());
+ }
if (!load && g_conf().get_val<bool>("mds_abort_on_newly_corrupt_dentry")) {
dir->mdcache->mds->clog->error() << "MDS abort because newly corrupt dentry to be committed: " << *this;
ceph_abort("detected newly corrupt dentry"); /* avoid writing out newly corrupted dn */