libceph: use sendpage_ok() in ceph_tcp_sendpage()
authorColy Li <colyli@suse.de>
Fri, 2 Oct 2020 08:27:34 +0000 (16:27 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Oct 2020 22:27:08 +0000 (15:27 -0700)
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@suse.de>
Acked-by: Jeff Layton <jlayton@kernel.org>
Cc: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ceph/messenger.c

index bdfd66b..d4d7a0e 100644 (file)
@@ -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;