diff options
Diffstat (limited to 'fs/fscache/page.c')
-rw-r--r-- | fs/fscache/page.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/fs/fscache/page.c b/fs/fscache/page.c index 0fe42a6d0e9c..7f5c658af755 100644 --- a/fs/fscache/page.c +++ b/fs/fscache/page.c | |||
@@ -204,7 +204,8 @@ int __fscache_attr_changed(struct fscache_cookie *cookie) | |||
204 | 204 | ||
205 | spin_lock(&cookie->lock); | 205 | spin_lock(&cookie->lock); |
206 | 206 | ||
207 | if (hlist_empty(&cookie->backing_objects)) | 207 | if (!fscache_cookie_enabled(cookie) || |
208 | hlist_empty(&cookie->backing_objects)) | ||
208 | goto nobufs; | 209 | goto nobufs; |
209 | object = hlist_entry(cookie->backing_objects.first, | 210 | object = hlist_entry(cookie->backing_objects.first, |
210 | struct fscache_object, cookie_link); | 211 | struct fscache_object, cookie_link); |
@@ -410,7 +411,7 @@ int __fscache_read_or_alloc_page(struct fscache_cookie *cookie, | |||
410 | return -ERESTARTSYS; | 411 | return -ERESTARTSYS; |
411 | 412 | ||
412 | op = fscache_alloc_retrieval(cookie, page->mapping, | 413 | op = fscache_alloc_retrieval(cookie, page->mapping, |
413 | end_io_func,context); | 414 | end_io_func, context); |
414 | if (!op) { | 415 | if (!op) { |
415 | _leave(" = -ENOMEM"); | 416 | _leave(" = -ENOMEM"); |
416 | return -ENOMEM; | 417 | return -ENOMEM; |
@@ -419,7 +420,8 @@ int __fscache_read_or_alloc_page(struct fscache_cookie *cookie, | |||
419 | 420 | ||
420 | spin_lock(&cookie->lock); | 421 | spin_lock(&cookie->lock); |
421 | 422 | ||
422 | if (hlist_empty(&cookie->backing_objects)) | 423 | if (!fscache_cookie_enabled(cookie) || |
424 | hlist_empty(&cookie->backing_objects)) | ||
423 | goto nobufs_unlock; | 425 | goto nobufs_unlock; |
424 | object = hlist_entry(cookie->backing_objects.first, | 426 | object = hlist_entry(cookie->backing_objects.first, |
425 | struct fscache_object, cookie_link); | 427 | struct fscache_object, cookie_link); |
@@ -551,7 +553,8 @@ int __fscache_read_or_alloc_pages(struct fscache_cookie *cookie, | |||
551 | 553 | ||
552 | spin_lock(&cookie->lock); | 554 | spin_lock(&cookie->lock); |
553 | 555 | ||
554 | if (hlist_empty(&cookie->backing_objects)) | 556 | if (!fscache_cookie_enabled(cookie) || |
557 | hlist_empty(&cookie->backing_objects)) | ||
555 | goto nobufs_unlock; | 558 | goto nobufs_unlock; |
556 | object = hlist_entry(cookie->backing_objects.first, | 559 | object = hlist_entry(cookie->backing_objects.first, |
557 | struct fscache_object, cookie_link); | 560 | struct fscache_object, cookie_link); |
@@ -666,7 +669,8 @@ int __fscache_alloc_page(struct fscache_cookie *cookie, | |||
666 | 669 | ||
667 | spin_lock(&cookie->lock); | 670 | spin_lock(&cookie->lock); |
668 | 671 | ||
669 | if (hlist_empty(&cookie->backing_objects)) | 672 | if (!fscache_cookie_enabled(cookie) || |
673 | hlist_empty(&cookie->backing_objects)) | ||
670 | goto nobufs_unlock; | 674 | goto nobufs_unlock; |
671 | object = hlist_entry(cookie->backing_objects.first, | 675 | object = hlist_entry(cookie->backing_objects.first, |
672 | struct fscache_object, cookie_link); | 676 | struct fscache_object, cookie_link); |
@@ -938,7 +942,8 @@ int __fscache_write_page(struct fscache_cookie *cookie, | |||
938 | ret = -ENOBUFS; | 942 | ret = -ENOBUFS; |
939 | spin_lock(&cookie->lock); | 943 | spin_lock(&cookie->lock); |
940 | 944 | ||
941 | if (hlist_empty(&cookie->backing_objects)) | 945 | if (!fscache_cookie_enabled(cookie) || |
946 | hlist_empty(&cookie->backing_objects)) | ||
942 | goto nobufs; | 947 | goto nobufs; |
943 | object = hlist_entry(cookie->backing_objects.first, | 948 | object = hlist_entry(cookie->backing_objects.first, |
944 | struct fscache_object, cookie_link); | 949 | struct fscache_object, cookie_link); |