aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/caps.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index e1e6df0f549e..289f6c65a17e 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -2210,7 +2210,6 @@ static int handle_cap_grant(struct inode *inode, struct ceph_mds_caps *grant,
2210 int writeback = 0; 2210 int writeback = 0;
2211 int revoked_rdcache = 0; 2211 int revoked_rdcache = 0;
2212 int queue_invalidate = 0; 2212 int queue_invalidate = 0;
2213 int tried_invalidate = 0;
2214 2213
2215 dout("handle_cap_grant inode %p cap %p mds%d seq %d %s\n", 2214 dout("handle_cap_grant inode %p cap %p mds%d seq %d %s\n",
2216 inode, cap, mds, seq, ceph_cap_string(newcaps)); 2215 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,
2222 * try to invalidate (once). (If there are dirty buffers, we 2221 * try to invalidate (once). (If there are dirty buffers, we
2223 * will invalidate _after_ writeback.) 2222 * will invalidate _after_ writeback.)
2224 */ 2223 */
2225restart:
2226 if (((cap->issued & ~newcaps) & CEPH_CAP_FILE_CACHE) && 2224 if (((cap->issued & ~newcaps) & CEPH_CAP_FILE_CACHE) &&
2227 !ci->i_wrbuffer_ref && !tried_invalidate) { 2225 !ci->i_wrbuffer_ref) {
2228 tried_invalidate = 1;
2229 if (try_nonblocking_invalidate(inode) == 0) { 2226 if (try_nonblocking_invalidate(inode) == 0) {
2230 revoked_rdcache = 1; 2227 revoked_rdcache = 1;
2231 } else { 2228 } else {
@@ -2236,7 +2233,6 @@ restart:
2236 ci->i_rdcache_revoking = ci->i_rdcache_gen; 2233 ci->i_rdcache_revoking = ci->i_rdcache_gen;
2237 } 2234 }
2238 } 2235 }
2239 goto restart;
2240 } 2236 }
2241 2237
2242 /* side effects now are allowed */ 2238 /* side effects now are allowed */