|
@@ -1285,7 +1285,6 @@ out:
|
|
|
static void send_to_sock(struct connection *con)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
- ssize_t(*sendpage) (struct socket *, struct page *, int, size_t, int);
|
|
|
const int msg_flags = MSG_DONTWAIT | MSG_NOSIGNAL;
|
|
|
struct writequeue_entry *e;
|
|
|
int len, offset;
|
|
@@ -1294,8 +1293,6 @@ static void send_to_sock(struct connection *con)
|
|
|
if (con->sock == NULL)
|
|
|
goto out_connect;
|
|
|
|
|
|
- sendpage = con->sock->ops->sendpage;
|
|
|
-
|
|
|
spin_lock(&con->writequeue_lock);
|
|
|
for (;;) {
|
|
|
e = list_entry(con->writequeue.next, struct writequeue_entry,
|
|
@@ -1310,8 +1307,8 @@ static void send_to_sock(struct connection *con)
|
|
|
|
|
|
ret = 0;
|
|
|
if (len) {
|
|
|
- ret = sendpage(con->sock, e->page, offset, len,
|
|
|
- msg_flags);
|
|
|
+ ret = kernel_sendpage(con->sock, e->page, offset, len,
|
|
|
+ msg_flags);
|
|
|
if (ret == -EAGAIN || ret == 0) {
|
|
|
cond_resched();
|
|
|
goto out;
|