# Re: \[PATCH net-next v5 04/16\] ceph: Use sendmsg(MSG\_SPLICE\_PAGES) rather than sendpage()

- From: David Howells \<dhowells@redhat.com\>
- Date: 2023-06-26 17:03:47 
- List: netdev
- Page: https://ratatoskr.run/netdev/2023/06/2246485
- Thread: https://ratatoskr.run/netdev/2023/06/2244722/t.md

```text
Ilya Dryomov [ref] wrote:

> > Btw, is it feasible to use con->v2.out_iter_sendpage to apply
> > MSG_SPLICE_PAGES to the iterator to be transmitted as a whole?  It seems
> > to be set depending on iterator type.
> 
> I'm not sure I understand what you mean by "transmitted as a whole".
> con->v2.out_iter_sendpage is set only when zerocopy is desired.  If the
> underlying data is not guaranteed to remain stable, zerocopy behavior
> is not safe.

I think I need to reinstate the per-page sendpage_ok() check here also -
though Al pointed out it isn't sufficiently exhaustive.  There are pages that
sendpage_ok() will return true on that you shouldn't be passing to sendpage().

I'll whip up a patch to partially revert this also.

David

```
