diff options
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/file.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 29bda0564e69..9ca68edcbdbe 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -536,6 +536,7 @@ static void fuse_readpages_end(struct fuse_conn *fc, struct fuse_req *req) | |||
536 | else | 536 | else |
537 | SetPageError(page); | 537 | SetPageError(page); |
538 | unlock_page(page); | 538 | unlock_page(page); |
539 | page_cache_release(page); | ||
539 | } | 540 | } |
540 | if (req->ff) | 541 | if (req->ff) |
541 | fuse_file_put(req->ff); | 542 | fuse_file_put(req->ff); |
@@ -589,6 +590,7 @@ static int fuse_readpages_fill(void *_data, struct page *page) | |||
589 | return PTR_ERR(req); | 590 | return PTR_ERR(req); |
590 | } | 591 | } |
591 | } | 592 | } |
593 | page_cache_get(page); | ||
592 | req->pages[req->num_pages] = page; | 594 | req->pages[req->num_pages] = page; |
593 | req->num_pages++; | 595 | req->num_pages++; |
594 | return 0; | 596 | return 0; |