Commit 57afda7b authored by Al Viro's avatar Al Viro Committed by Greg Kroah-Hartman
Browse files

nfsd_splice_actor(): handle compound pages



[ Upstream commit bfbfb618 ]

pipe_buffer might refer to a compound page (and contain more than a PAGE_SIZE
worth of data).  Theoretically it had been possible since way back, but
nfsd_splice_actor() hadn't run into that until copy_page_to_iter() change.
Fortunately, the only thing that changes for compound pages is that we
need to stuff each relevant subpage in and convert the offset into offset
in the first subpage.

Acked-by: default avatarChuck Lever <chuck.lever@oracle.com>
Tested-by: default avatarBenjamin Coddington <bcodding@redhat.com>
Fixes: f0f6b614 "copy_page_to_iter(): don't split high-order page in case of ITER_PIPE"
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
[ cel: "‘for’ loop initial declarations are only allowed in C99 or C11 mode" ]
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent c7d320e6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment