]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: remove redundant abort logic during dentry invalidation test 24695/head
authorVenky Shankar <vshankar@redhat.com>
Wed, 31 Oct 2018 06:47:24 +0000 (02:47 -0400)
committerVenky Shankar <vshankar@redhat.com>
Wed, 28 Nov 2018 13:00:22 +0000 (18:30 +0530)
commit d1471f070c added retry logic when remounting is
used to invalidate kernel dcache. ceph-fuse performs a
dcache invalidation test during startup, thereby logging
(and continuing) or aborting as per certain configuration
settings. the abort logic is pretty much redundant and
can be cleaned up preserving the existing behavior.

Also, assert is none of dcache invalidation mecahnisms
(`dentry_invalidate_cb` or `remount_cb`) are available.

Fixes: http://tracker.ceph.com/issues/35932
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 232d12f03612983336a2e90cb024deb79e5e6934)

 Conflicts:
src/client/Client.cc

src/client/Client.cc

index 3ef1c4b2d595701de7a3257be168408101322f12..27e47cce3a63eebc44f735874e13cecdee6e588f 100644 (file)
@@ -10120,19 +10120,12 @@ int Client::test_dentry_handling(bool can_invalidate)
     assert(dentry_invalidate_cb);
     ldout(cct, 1) << "using dentry_invalidate_cb" << dendl;
     r = 0;
-  } else if (remount_cb) {
+  } else {
+    ceph_assert(remount_cb);
     ldout(cct, 1) << "using remount_cb" << dendl;
     r = _do_remount(false);
   }
-  if (r) {
-    bool should_abort = cct->_conf->get_val<bool>("client_die_on_failed_dentry_invalidate");
-    if (should_abort) {
-      lderr(cct) << "no method to invalidate kernel dentry cache; quitting!" << dendl;
-      ceph_abort();
-    } else {
-      lderr(cct) << "no method to invalidate kernel dentry cache; expect issues!" << dendl;
-    }
-  }
+
   return r;
 }