Message ID | 20190220115611.3192-2-quintela@redhat.com |
---|---|
State | New |
Headers | show |
Series | migration: Make multifd not experimental | expand |
* Juan Quintela (quintela@redhat.com) wrote: > We send packages without pages sometimes for sysnchronizanion. The > iov functions do the right thing, but we will be changing this code in > future patches. > > Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > migration/ram.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/migration/ram.c b/migration/ram.c > index 59191c1ed2..8b5fd67d66 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -1025,9 +1025,12 @@ static void *multifd_send_thread(void *opaque) > break; > } > > - ret = qio_channel_writev_all(p->c, p->pages->iov, used, &local_err); > - if (ret != 0) { > - break; > + if (used) { > + ret = qio_channel_writev_all(p->c, p->pages->iov, > + used, &local_err); > + if (ret != 0) { > + break; > + } > } > > qemu_mutex_lock(&p->mutex); > @@ -1254,9 +1257,12 @@ static void *multifd_recv_thread(void *opaque) > p->num_pages += used; > qemu_mutex_unlock(&p->mutex); > > - ret = qio_channel_readv_all(p->c, p->pages->iov, used, &local_err); > - if (ret != 0) { > - break; > + if (used) { > + ret = qio_channel_readv_all(p->c, p->pages->iov, > + used, &local_err); > + if (ret != 0) { > + break; > + } > } > > if (flags & MULTIFD_FLAG_SYNC) { > -- > 2.20.1 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/migration/ram.c b/migration/ram.c index 59191c1ed2..8b5fd67d66 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1025,9 +1025,12 @@ static void *multifd_send_thread(void *opaque) break; } - ret = qio_channel_writev_all(p->c, p->pages->iov, used, &local_err); - if (ret != 0) { - break; + if (used) { + ret = qio_channel_writev_all(p->c, p->pages->iov, + used, &local_err); + if (ret != 0) { + break; + } } qemu_mutex_lock(&p->mutex); @@ -1254,9 +1257,12 @@ static void *multifd_recv_thread(void *opaque) p->num_pages += used; qemu_mutex_unlock(&p->mutex); - ret = qio_channel_readv_all(p->c, p->pages->iov, used, &local_err); - if (ret != 0) { - break; + if (used) { + ret = qio_channel_readv_all(p->c, p->pages->iov, + used, &local_err); + if (ret != 0) { + break; + } } if (flags & MULTIFD_FLAG_SYNC) {
We send packages without pages sometimes for sysnchronizanion. The iov functions do the right thing, but we will be changing this code in future patches. Signed-off-by: Juan Quintela <quintela@redhat.com> --- migration/ram.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)