]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: small cleanups
authorSage Weil <sage@newdream.net>
Fri, 13 Mar 2009 23:50:07 +0000 (16:50 -0700)
committerSage Weil <sage@newdream.net>
Fri, 13 Mar 2009 23:50:07 +0000 (16:50 -0700)
src/kernel/mds_client.c
src/kernel/mds_client.h

index 265afb1ead10e610eaebcaddd7d846d3d2dfcbf8..acd67594bc2debcc32f18b1417caa7a213870830 100644 (file)
@@ -2014,7 +2014,6 @@ void ceph_mdsc_lease_send_msg(struct ceph_mds_client *mdsc, int mds,
 
        dout(0, "lease_send_msg inode %p dentry %p %s to mds%d\n",
             inode, dentry, ceph_lease_op_name(action), mds);
-
        dnamelen = dentry->d_name.len;
        len += dnamelen;
 
@@ -2029,10 +2028,8 @@ void ceph_mdsc_lease_send_msg(struct ceph_mds_client *mdsc, int mds,
        lease->seq = cpu_to_le32(seq);
        lease->renew_start = cpu_to_le64(jiffies);
        *(__le32 *)((void *)lease + sizeof(*lease)) = cpu_to_le32(dnamelen);
-       if (dentry) {
-               memcpy((void *)lease + sizeof(*lease) + 4, dentry->d_name.name,
-                      dnamelen);
-       }
+       memcpy((void *)lease + sizeof(*lease) + 4, dentry->d_name.name,
+              dnamelen);
        ceph_send_msg_mds(mdsc, msg, mds);
 }
 
@@ -2054,25 +2051,23 @@ void ceph_mdsc_lease_release(struct ceph_mds_client *mdsc, struct inode *inode,
        /* is dentry lease valid? */
        spin_lock(&dentry->d_lock);
        di = ceph_dentry(dentry);
-       if (di &&
-           di->lease_session->s_mds >= 0 &&
-           di->lease_gen == di->lease_session->s_cap_gen &&
-           time_before(jiffies, dentry->d_time)) {
-               /* we do have a lease on this dentry; note mds */
-               mds = di->lease_session->s_mds;
-               seq = di->lease_seq;
-       } else {
+       if (!di ||
+           di->lease_session->s_mds < 0 ||
+           di->lease_gen != di->lease_session->s_cap_gen ||
+           !time_before(jiffies, dentry->d_time)) {
                dout(10, "lease_release inode %p dentry %p -- "
                     "no lease on %d\n",
                     inode, dentry, mask);
                spin_unlock(&dentry->d_lock);
                return;
        }
+
+       /* we do have a lease on this dentry; note mds and seq */
+       mds = di->lease_session->s_mds;
+       seq = di->lease_seq;
        __drop_dentry_lease(dentry);
        spin_unlock(&dentry->d_lock);
 
-       BUG_ON(mds < 0);
-
        dout(10, "lease_release inode %p dentry %p mask %d to mds%d\n",
             inode, dentry, mask, mds);
        ceph_mdsc_lease_send_msg(mdsc, mds, inode, dentry,
index 65aed593dc39440a86c59ba40bfe70572dcc70ac..44f34fd39db57c6c668dc356ada2919e37bd4e79 100644 (file)
@@ -308,8 +308,9 @@ extern void ceph_mdsc_handle_reset(struct ceph_mds_client *mdsc, int mds);
 extern void ceph_mdsc_flushed_all_caps(struct ceph_mds_client *mdsc,
                                       struct ceph_mds_session *session);
 extern struct ceph_mds_request *ceph_mdsc_get_listener_req(struct inode *inode,
-                                                   u64 tid);
-extern char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, int mds);
+                                                          u64 tid);
+extern char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base,
+                                 int mds);
 
 extern void ceph_mdsc_lease_send_msg(struct ceph_mds_client *mdsc, int mds,
                                     struct inode *inode,