Re: [PATCH v8 7/7] libceph: use sendpage_ok() in ceph_tcp_sendpage()
From: Jeff Layton
Date: Fri Sep 25 2020 - 11:13:57 EST
On Fri, 2020-09-25 at 23:01 +0800, Coly Li wrote:
> In libceph, ceph_tcp_sendpage() does the following checks before handle
> the page by network layer's zero copy sendpage method,
> if (page_count(page) >= 1 && !PageSlab(page))
>
> This check is exactly what sendpage_ok() does. This patch replace the
> open coded checks by sendpage_ok() as a code cleanup.
>
> Signed-off-by: Coly Li <colyli@xxxxxxx>
> Cc: Ilya Dryomov <idryomov@xxxxxxxxx>
> Cc: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
> net/ceph/messenger.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index bdfd66ba3843..d4d7a0e52491 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -575,7 +575,7 @@ static int ceph_tcp_sendpage(struct socket *sock, struct page *page,
> * coalescing neighboring slab objects into a single frag which
> * triggers one of hardened usercopy checks.
> */
> - if (page_count(page) >= 1 && !PageSlab(page))
> + if (sendpage_ok(page))
> sendpage = sock->ops->sendpage;
> else
> sendpage = sock_no_sendpage;
Looks like a reasonable change to make. Assuming that there is no
objection to the new helper:
Acked-by: Jeff Layton <jlayton@xxxxxxxxxx>