]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ceph: make __take_cap_refs non-static
authorJeff Layton <jlayton@kernel.org>
Tue, 14 Jan 2020 14:23:49 +0000 (09:23 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 30 Mar 2020 10:42:41 +0000 (12:42 +0200)
Rename it to ceph_take_cap_refs and make it available to other files.
Also replace a comment with a lockdep assertion.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/super.h

index fcad5d8ebcfa8c1c5ddc02f9628e21b0929f252e..569484a5711129c9413c1d81ca34fdd98c3c471e 100644 (file)
@@ -2515,12 +2515,12 @@ void ceph_kick_flushing_inode_caps(struct ceph_mds_session *session,
 /*
  * Take references to capabilities we hold, so that we don't release
  * them to the MDS prematurely.
- *
- * Protected by i_ceph_lock.
  */
-static void __take_cap_refs(struct ceph_inode_info *ci, int got,
+void ceph_take_cap_refs(struct ceph_inode_info *ci, int got,
                            bool snap_rwsem_locked)
 {
+       lockdep_assert_held(&ci->i_ceph_lock);
+
        if (got & CEPH_CAP_PIN)
                ci->i_pin_ref++;
        if (got & CEPH_CAP_FILE_RD)
@@ -2541,7 +2541,7 @@ static void __take_cap_refs(struct ceph_inode_info *ci, int got,
                if (ci->i_wb_ref == 0)
                        ihold(&ci->vfs_inode);
                ci->i_wb_ref++;
-               dout("__take_cap_refs %p wb %d -> %d (?)\n",
+               dout("%s %p wb %d -> %d (?)\n", __func__,
                     &ci->vfs_inode, ci->i_wb_ref-1, ci->i_wb_ref);
        }
 }
@@ -2664,7 +2664,7 @@ again:
                            (need & CEPH_CAP_FILE_RD) &&
                            !(*got & CEPH_CAP_FILE_CACHE))
                                ceph_disable_fscache_readpage(ci);
-                       __take_cap_refs(ci, *got, true);
+                       ceph_take_cap_refs(ci, *got, true);
                        ret = 1;
                }
        } else {
@@ -2893,7 +2893,7 @@ int ceph_get_caps(struct file *filp, int need, int want,
 void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps)
 {
        spin_lock(&ci->i_ceph_lock);
-       __take_cap_refs(ci, caps, false);
+       ceph_take_cap_refs(ci, caps, false);
        spin_unlock(&ci->i_ceph_lock);
 }
 
index 00bf846e00141102863f34385915bd19d9b15bce..4cc00c4012c24be8f76e378716580104123b19e9 100644 (file)
@@ -1055,6 +1055,8 @@ void ceph_kick_flushing_inode_caps(struct ceph_mds_session *session,
                                   struct ceph_inode_info *ci);
 extern struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci,
                                             int mds);
+extern void ceph_take_cap_refs(struct ceph_inode_info *ci, int caps,
+                               bool snap_rwsem_locked);
 extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps);
 extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had);
 extern void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,