diff options
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/caps.c | 6 |
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 | */ |
2225 | restart: | ||
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 */ |