Loading fs/ceph/inode.c +9 −6 Original line number Diff line number Diff line Loading @@ -1466,7 +1466,7 @@ void __ceph_do_pending_vmtruncate(struct inode *inode) { struct ceph_inode_info *ci = ceph_inode(inode); u64 to; int wrbuffer_refs, wake = 0; int wrbuffer_refs, finish = 0; retry: spin_lock(&ci->i_ceph_lock); Loading Loading @@ -1498,14 +1498,17 @@ void __ceph_do_pending_vmtruncate(struct inode *inode) truncate_inode_pages(inode->i_mapping, to); spin_lock(&ci->i_ceph_lock); ci->i_truncate_pending--; if (ci->i_truncate_pending == 0) wake = 1; if (to == ci->i_truncate_size) { ci->i_truncate_pending = 0; finish = 1; } spin_unlock(&ci->i_ceph_lock); if (!finish) goto retry; if (wrbuffer_refs == 0) ceph_check_caps(ci, CHECK_CAPS_AUTHONLY, NULL); if (wake) wake_up_all(&ci->i_cap_wq); } Loading Loading
fs/ceph/inode.c +9 −6 Original line number Diff line number Diff line Loading @@ -1466,7 +1466,7 @@ void __ceph_do_pending_vmtruncate(struct inode *inode) { struct ceph_inode_info *ci = ceph_inode(inode); u64 to; int wrbuffer_refs, wake = 0; int wrbuffer_refs, finish = 0; retry: spin_lock(&ci->i_ceph_lock); Loading Loading @@ -1498,14 +1498,17 @@ void __ceph_do_pending_vmtruncate(struct inode *inode) truncate_inode_pages(inode->i_mapping, to); spin_lock(&ci->i_ceph_lock); ci->i_truncate_pending--; if (ci->i_truncate_pending == 0) wake = 1; if (to == ci->i_truncate_size) { ci->i_truncate_pending = 0; finish = 1; } spin_unlock(&ci->i_ceph_lock); if (!finish) goto retry; if (wrbuffer_refs == 0) ceph_check_caps(ci, CHECK_CAPS_AUTHONLY, NULL); if (wake) wake_up_all(&ci->i_cap_wq); } Loading