Using kernel_sendpage() is cleaner and safer than following
sock->ops ourselves.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
Paolo Bonzini 2009-08-24 13:18:04 -05:00 коммит произвёл David Teigland
Родитель 063c4c9963
Коммит 1329e3f2c8
1 изменённых файлов: 2 добавлений и 5 удалений

Просмотреть файл

@ -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;