diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 58ec5bac6ce9..abee0cd67182 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1718,6 +1718,10 @@ static int fuse_retrieve(struct fuse_mount *fm, struct inode *inode, page = find_get_page(mapping, index); if (!page) break; + if (!PageUptodate(page)) { + put_page(page); + break; + } this_num = min_t(unsigned, num, PAGE_SIZE - offset); ap->pages[ap->num_pages] = page;