diff --git a/fs/splice.c b/fs/splice.c index badc78ff12466c6bed3eb36030d9d4ddf49ed034..ae50208e3e6c174e178b35d444de197a85341656 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -593,36 +593,6 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, goto out; } - /* - * We get here with the page locked. If the page is also - * uptodate, we don't need to do more. If it isn't, we - * may need to bring it in if we are not going to overwrite - * the full page. - */ - if (!PageUptodate(page)) { - if (this_len < PAGE_CACHE_SIZE) { - ret = mapping->a_ops->readpage(file, page); - if (unlikely(ret)) - goto out; - - lock_page(page); - - if (!PageUptodate(page)) { - /* - * Page got invalidated, repeat. - */ - if (!page->mapping) { - unlock_page(page); - page_cache_release(page); - goto find_page; - } - ret = -EIO; - goto out; - } - } else - SetPageUptodate(page); - } - ret = mapping->a_ops->prepare_write(file, page, offset, offset+this_len); if (unlikely(ret)) { loff_t isize = i_size_read(mapping->host);