multifd: Make zlib use iov's
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
226468ba3d
commit
48a4a44c1c
@ -143,6 +143,9 @@ static int zlib_send_prepare(MultiFDSendParams *p, Error **errp)
|
||||
}
|
||||
out_size += available - zs->avail_out;
|
||||
}
|
||||
p->iov[p->iovs_num].iov_base = z->zbuff;
|
||||
p->iov[p->iovs_num].iov_len = out_size;
|
||||
p->iovs_num++;
|
||||
p->next_packet_size = out_size;
|
||||
p->flags |= MULTIFD_FLAG_ZLIB;
|
||||
|
||||
@ -162,10 +165,7 @@ static int zlib_send_prepare(MultiFDSendParams *p, Error **errp)
|
||||
*/
|
||||
static int zlib_send_write(MultiFDSendParams *p, uint32_t used, Error **errp)
|
||||
{
|
||||
struct zlib_data *z = p->data;
|
||||
|
||||
return qio_channel_write_all(p->c, (void *)z->zbuff, p->next_packet_size,
|
||||
errp);
|
||||
return qio_channel_writev_all(p->c, p->iov, p->iovs_num, errp);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user