]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cephfs: Fixed a bug that read operation hung in Client::get_caps when the... 60694/head
authorchentao.2022 <chentao.2022@bytedance.com>
Mon, 5 Aug 2024 15:38:50 +0000 (23:38 +0800)
committerVenky Shankar <vshankar@redhat.com>
Mon, 11 Nov 2024 11:29:40 +0000 (16:59 +0530)
Fixes: https://tracker.ceph.com/issues/65971
Signed-off-by: Tod Chen <chentao.2022@bytedance.com>
(cherry picked from commit 7f723017454957f3e4e1dbb4613bcf94afa4151e)

src/client/Client.cc

index 67a1f65b4f8ab8af8b053fbdc73179099b1058e8..f97bff9b9ad3e2e65c73c77dc3d186ee4fb4f33f 100644 (file)
@@ -3620,6 +3620,9 @@ void Client::put_cap_ref(Inode *in, int cap)
     if (last & CEPH_CAP_FILE_CACHE) {
       ldout(cct, 5) << __func__ << " dropped last FILE_CACHE ref on " << *in << dendl;
       ++put_nref;
+
+      ldout(cct, 10) << __func__ << " calling signal_caps_inode" << dendl;
+      signal_caps_inode(in);
     }
     if (drop)
       check_caps(in, 0);