Skip to content

Commit

Permalink
Merge tag 'nfsd-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/g…
Browse files Browse the repository at this point in the history
…it/cel/linux

Pull nfsd fix from Chuck Lever:

 - Fix tmpfs splice read support

* tag 'nfsd-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  nfsd: Fix reading via splice
  • Loading branch information
Linus Torvalds committed Aug 3, 2023
2 parents 556c942 + 101df45 commit 7bafbd4
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions fs/nfsd/vfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -956,10 +956,13 @@ nfsd_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
last_page = page + (offset + sd->len - 1) / PAGE_SIZE;
for (page += offset / PAGE_SIZE; page <= last_page; page++) {
/*
* Skip page replacement when extending the contents
* of the current page.
* Skip page replacement when extending the contents of the
* current page. But note that we may get two zero_pages in a
* row from shmem.
*/
if (page == *(rqstp->rq_next_page - 1))
if (page == *(rqstp->rq_next_page - 1) &&
offset_in_page(rqstp->rq_res.page_base +
rqstp->rq_res.page_len))
continue;
if (unlikely(!svc_rqst_replace_page(rqstp, page)))
return -EIO;
Expand Down

0 comments on commit 7bafbd4

Please sign in to comment.