]> 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... 59027/head
authorchentao.2022 <chentao.2022@bytedance.com>
Mon, 5 Aug 2024 15:38:50 +0000 (23:38 +0800)
committerchentao.2022 <chentao.2022@bytedance.com>
Mon, 5 Aug 2024 15:44:07 +0000 (23:44 +0800)
Fixes: https://tracker.ceph.com/issues/65971
Signed-off-by: Tod Chen <chentao.2022@bytedance.com>
src/client/Client.cc

index 7e6f950332b44fcfe6bc288972e70f4e9fa5fc42..fb822c9fe512ab84a822fc9fbcf2321b548dc49f 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);