ceph: comment cleanups and clarifications
authorJeff Layton <jlayton@kernel.org>
Tue, 6 Oct 2020 16:24:19 +0000 (12:24 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 12 Oct 2020 13:29:27 +0000 (15:29 +0200)
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/mds_client.h
fs/ceph/super.h

index 0874ac4..5027bbd 100644 (file)
@@ -1922,12 +1922,24 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags,
 retry:
        spin_lock(&ci->i_ceph_lock);
 retry_locked:
+       /* Caps wanted by virtue of active open files. */
        file_wanted = __ceph_caps_file_wanted(ci);
+
+       /* Caps which have active references against them */
        used = __ceph_caps_used(ci);
+
+       /*
+        * "issued" represents the current caps that the MDS wants us to have.
+        * "implemented" is the set that we have been granted, and includes the
+        * ones that have not yet been returned to the MDS (the "revoking" set,
+        * usually because they have outstanding references).
+        */
        issued = __ceph_caps_issued(ci, &implemented);
        revoking = implemented & ~issued;
 
        want = file_wanted;
+
+       /* The ones we currently want to retain (may be adjusted below) */
        retain = file_wanted | used | CEPH_CAP_PIN;
        if (!mdsc->stopping && inode->i_nlink > 0) {
                if (file_wanted) {
@@ -2005,6 +2017,10 @@ retry_locked:
 
                /* NOTE: no side-effects allowed, until we take s_mutex */
 
+               /*
+                * If we have an auth cap, we don't need to consider any
+                * overlapping caps as used.
+                */
                cap_used = used;
                if (ci->i_auth_cap && cap != ci->i_auth_cap)
                        cap_used &= ~ci->i_auth_cap->issued;
index 6588006..cbf8af4 100644 (file)
@@ -393,7 +393,7 @@ struct ceph_mds_client {
 
        struct ceph_mds_session **sessions;    /* NULL for mds if no session */
        atomic_t                num_sessions;
-       int                     max_sessions;  /* len of s_mds_sessions */
+       int                     max_sessions;  /* len of sessions array */
        int                     stopping;      /* true if shutting down */
 
        atomic64_t              quotarealms_count; /* # realms with quota */
index 5826948..482473e 100644 (file)
@@ -160,7 +160,8 @@ struct ceph_cap {
                        int issued;       /* latest, from the mds */
                        int implemented;  /* implemented superset of
                                             issued (for revocation) */
-                       int mds, mds_wanted;
+                       int mds;          /* mds index for this cap */
+                       int mds_wanted;   /* caps wanted from this mds */
                };
                /* caps to release */
                struct {