]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_fuse: make it to force invalidating dentries when kernel >=3.18
authorXiubo Li <xiubli@redhat.com>
Wed, 19 Oct 2022 08:44:04 +0000 (16:44 +0800)
committerXiubo Li <xiubli@redhat.com>
Fri, 10 Mar 2023 05:49:39 +0000 (13:49 +0800)
The remount will fail randomly for unknown reasons. And in certain
circumstance we can reprodce this very easy, which will block our
testing. Make it posible to force to old method to invalidate the
dcache when the "client_try_dentry_invalidate" option is enabled
even kernel version >= 3.18.0

Fixes: https://tracker.ceph.com/issues/56532
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit f9c78fe72f3d7c02e927f71e0fbd841605c42708)

src/ceph_fuse.cc

index e2d384a787bc4ab3dab3d504e4837b2aaffac78c..ea941e9cc4651185d6817a5415acd4301f89185a 100644 (file)
@@ -197,12 +197,8 @@ int main(int argc, const char **argv, const char *envp[]) {
       ~RemountTest() override {}
       void *entry() override {
 #if defined(__linux__)
-       int ver = get_linux_version();
-       ceph_assert(ver != 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);
+        bool can_invalidate_dentries = g_conf().get_val<bool>(
+         "client_try_dentry_invalidate");
         uint64_t max_retries = g_conf().get_val<uint64_t>(
           "client_max_retries_on_remount_failure");
         std::pair<int, bool> test_result;