aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/fscache/page.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/fscache/page.c b/fs/fscache/page.c
index 781ac7b0b53e..de33b3fccca6 100644
--- a/fs/fscache/page.c
+++ b/fs/fscache/page.c
@@ -198,7 +198,7 @@ int __fscache_attr_changed(struct fscache_cookie *cookie)
198{ 198{
199 struct fscache_operation *op; 199 struct fscache_operation *op;
200 struct fscache_object *object; 200 struct fscache_object *object;
201 bool wake_cookie; 201 bool wake_cookie = false;
202 202
203 _enter("%p", cookie); 203 _enter("%p", cookie);
204 204
@@ -228,15 +228,16 @@ int __fscache_attr_changed(struct fscache_cookie *cookie)
228 228
229 __fscache_use_cookie(cookie); 229 __fscache_use_cookie(cookie);
230 if (fscache_submit_exclusive_op(object, op) < 0) 230 if (fscache_submit_exclusive_op(object, op) < 0)
231 goto nobufs; 231 goto nobufs_dec;
232 spin_unlock(&cookie->lock); 232 spin_unlock(&cookie->lock);
233 fscache_stat(&fscache_n_attr_changed_ok); 233 fscache_stat(&fscache_n_attr_changed_ok);
234 fscache_put_operation(op); 234 fscache_put_operation(op);
235 _leave(" = 0"); 235 _leave(" = 0");
236 return 0; 236 return 0;
237 237
238nobufs: 238nobufs_dec:
239 wake_cookie = __fscache_unuse_cookie(cookie); 239 wake_cookie = __fscache_unuse_cookie(cookie);
240nobufs:
240 spin_unlock(&cookie->lock); 241 spin_unlock(&cookie->lock);
241 kfree(op); 242 kfree(op);
242 if (wake_cookie) 243 if (wake_cookie)