ceph: cleanup redundant code in handle_cap_grant
authorYehuda Sadeh <yehuda@hq.newdream.net>
Fri, 19 Feb 2010 00:12:21 +0000 (00:12 +0000)
committerSage Weil <sage@newdream.net>
Fri, 19 Feb 2010 22:41:10 +0000 (14:41 -0800)
There is no state in local vars that requires us to loop after temporarily
dropping i_lock.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/caps.c

index e1e6df0f549e63d315e9a39d8acd6da8839750ba..289f6c65a17e1245cc9a60f9f0f8b54ba10afc35 100644 (file)
@@ -2210,7 +2210,6 @@ static int handle_cap_grant(struct inode *inode, struct ceph_mds_caps *grant,
        int writeback = 0;
        int revoked_rdcache = 0;
        int queue_invalidate = 0;
-       int tried_invalidate = 0;
 
        dout("handle_cap_grant inode %p cap %p mds%d seq %d %s\n",
             inode, cap, mds, seq, ceph_cap_string(newcaps));
@@ -2222,10 +2221,8 @@ static int handle_cap_grant(struct inode *inode, struct ceph_mds_caps *grant,
         * try to invalidate (once).  (If there are dirty buffers, we
         * will invalidate _after_ writeback.)
         */
-restart:
        if (((cap->issued & ~newcaps) & CEPH_CAP_FILE_CACHE) &&
-           !ci->i_wrbuffer_ref && !tried_invalidate) {
-               tried_invalidate = 1;
+           !ci->i_wrbuffer_ref) {
                if (try_nonblocking_invalidate(inode) == 0) {
                        revoked_rdcache = 1;
                } else {
@@ -2236,7 +2233,6 @@ restart:
                                ci->i_rdcache_revoking = ci->i_rdcache_gen;
                        }
                }
-               goto restart;
        }
 
        /* side effects now are allowed */