diff options
author | chentao.2022 <chentao.2022@bytedance.com> | 2024-08-05 17:38:50 +0200 |
---|---|---|
committer | chentao.2022 <chentao.2022@bytedance.com> | 2024-08-05 17:44:07 +0200 |
commit | 7f723017454957f3e4e1dbb4613bcf94afa4151e (patch) | |
tree | 148761711bc59391bf2157b60bc92fc27b675189 | |
parent | Merge pull request #58891 from zdover23/wip-doc-2024-07-28-cephfs-file-layout... (diff) | |
download | ceph-7f723017454957f3e4e1dbb4613bcf94afa4151e.tar.xz ceph-7f723017454957f3e4e1dbb4613bcf94afa4151e.zip |
cephfs: Fixed a bug that read operation hung in Client::get_caps when the Fc caps is wanted but revoked by the mds, and the Fc cap refs is no-zero
Fixes: https://tracker.ceph.com/issues/65971
Signed-off-by: Tod Chen <chentao.2022@bytedance.com>
-rw-r--r-- | src/client/Client.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/client/Client.cc b/src/client/Client.cc index 7e6f950332b..fb822c9fe51 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -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); |