#if defined(__linux__)
int ver = get_linux_version();
assert(ver != 0);
- bool can_invalidate_dentries = g_conf->client_try_dentry_invalidate &&
- ver < KERNEL_VERSION(3, 18, 0);
+ bool client_try_dentry_invalidate = g_conf->get_val<bool>(
+ "client_try_dentry_invalidate");
+ bool can_invalidate_dentries =
+ client_try_dentry_invalidate && ver < KERNEL_VERSION(3, 18, 0);
int tr = client->test_dentry_handling(can_invalidate_dentries);
- if (tr != 0) {
+ bool client_die_on_failed_dentry_invalidate = g_conf->get_val<bool>(
+ "client_die_on_failed_dentry_invalidate");
+ if (tr != 0 && client_die_on_failed_dentry_invalidate) {
cerr << "ceph-fuse[" << getpid()
<< "]: fuse failed dentry invalidate/remount test with error "
<< cpp_strerror(tr) << ", stopping" << std::endl;