diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fscache/page.c | 7 |
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 | ||
238 | nobufs: | 238 | nobufs_dec: |
239 | wake_cookie = __fscache_unuse_cookie(cookie); | 239 | wake_cookie = __fscache_unuse_cookie(cookie); |
240 | nobufs: | ||
240 | spin_unlock(&cookie->lock); | 241 | spin_unlock(&cookie->lock); |
241 | kfree(op); | 242 | kfree(op); |
242 | if (wake_cookie) | 243 | if (wake_cookie) |