All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jag Raman <jag.raman@oracle.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"thuth@redhat.com" <thuth@redhat.com>,
	"Elena Ufimtseva" <elena.ufimtseva@oracle.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"qemu-block@nongnu.org" <qemu-block@nongnu.org>,
	"John Johnson" <john.g.johnson@oracle.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Denis V. Lunev" <den@openvz.org>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: Re: [PULL v4 14/27] io: add qio_channel_readv_full_all_eof & qio_channel_readv_full_all helpers
Date: Thu, 11 Feb 2021 15:48:02 +0000	[thread overview]
Message-ID: <E7BA3F8E-E511-4593-858E-DB8B4C246A36@oracle.com> (raw)
In-Reply-To: <20210211154647.GK1302824@redhat.com>



> On Feb 11, 2021, at 10:46 AM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, Feb 11, 2021 at 04:34:40PM +0100, Max Reitz wrote:
>> On 10.02.21 10:26, Stefan Hajnoczi wrote:
>>> From: Elena Ufimtseva <elena.ufimtseva@oracle.com>
>>> 
>>> Adds qio_channel_readv_full_all_eof() and qio_channel_readv_full_all()
>>> to read both data and FDs. Refactors existing code to use these helpers.
>>> 
>>> Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
>>> Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
>>> Signed-off-by: Jagannathan Raman <jag.raman@oracle.com>
>>> Acked-by: Daniel P. Berrangé <berrange@redhat.com>
>>> Message-id: b059c4cc0fb741e794d644c144cc21372cad877d.1611938319.git.jag.raman@oracle.com
>>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>>> ---
>>>  include/io/channel.h |  53 +++++++++++++++++++++++
>>>  io/channel.c         | 101 ++++++++++++++++++++++++++++++++++---------
>>>  2 files changed, 134 insertions(+), 20 deletions(-)
>> 
>> [...]
>> 
>>> diff --git a/io/channel.c b/io/channel.c
>>> index 0d4b8b5160..4555021b62 100644
>>> --- a/io/channel.c
>>> +++ b/io/channel.c
>> 
>> [...]
>> 
>>> @@ -135,20 +193,23 @@ int qio_channel_readv_all_eof(QIOChannel *ioc,
>>>      return ret;
>>>  }
>>> -int qio_channel_readv_all(QIOChannel *ioc,
>>> -                          const struct iovec *iov,
>>> -                          size_t niov,
>>> -                          Error **errp)
>>> +int qio_channel_readv_full_all(QIOChannel *ioc,
>>> +                               const struct iovec *iov,
>>> +                               size_t niov,
>>> +                               int **fds, size_t *nfds,
>>> +                               Error **errp)
>>>  {
>>> -    int ret = qio_channel_readv_all_eof(ioc, iov, niov, errp);
>>> +    int ret = qio_channel_readv_full_all_eof(ioc, iov, niov, fds, nfds, errp);
>>>      if (ret == 0) {
>>> -        ret = -1;
>>> -        error_setg(errp,
>>> -                   "Unexpected end-of-file before all bytes were read");
>>> -    } else if (ret == 1) {
>>> -        ret = 0;
>>> +        error_prepend(errp,
>>> +                      "Unexpected end-of-file before all data were read.");
>>> +        return -1;
>> 
>> This change breaks iotest 083 (i.e., it segfaults), because
>> qio_channel_readv_full_all_eof() doesn’t set *errp when it returns 0, so
>> there is no error to prepend.
> 
> Opps, yes, this needs to be error_setg() not error_prepend()

Hi Max & Daniel,

We will send a patch shortly to address this issue.

Thank you very much!

> 
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 


  reply	other threads:[~2021-02-11 15:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-10  9:26 [PULL v4 00/27] Block patches Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 01/27] .github: point Repo Lockdown bot to GitLab repo Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 02/27] gitmodules: use GitLab repos instead of qemu.org Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 03/27] gitlab-ci: remove redundant GitLab repo URL command Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 04/27] docs: update README to use GitLab repo URLs Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 05/27] pc-bios: update mirror URLs to GitLab Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 06/27] get_maintainer: update repo URL " Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 07/27] multi-process: add the concept description to docs/devel/qemu-multiprocess Stefan Hajnoczi
2023-06-06 14:21   ` Philippe Mathieu-Daudé
2021-02-10  9:26 ` [PULL v4 08/27] multi-process: add configure and usage information Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 09/27] memory: alloc RAM from file at offset Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 10/27] multi-process: Add config option for multi-process QEMU Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 11/27] multi-process: setup PCI host bridge for remote device Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 12/27] multi-process: setup a machine object for remote device process Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 13/27] io: add qio_channel_writev_full_all helper Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 14/27] io: add qio_channel_readv_full_all_eof & qio_channel_readv_full_all helpers Stefan Hajnoczi
2021-02-11 15:34   ` Max Reitz
2021-02-11 15:46     ` Daniel P. Berrangé
2021-02-11 15:48       ` Jag Raman [this message]
2021-02-10  9:26 ` [PULL v4 15/27] multi-process: define MPQemuMsg format and transmission functions Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 16/27] multi-process: Initialize message handler in remote device Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 17/27] multi-process: Associate fd of a PCIDevice with its object Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 18/27] multi-process: setup memory manager for remote device Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 19/27] multi-process: introduce proxy object Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 20/27] multi-process: add proxy communication functions Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 21/27] multi-process: Forward PCI config space acceses to the remote process Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 22/27] multi-process: PCI BAR read/write handling for proxy & remote endpoints Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 23/27] multi-process: Synchronize remote memory Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 24/27] multi-process: create IOHUB object to handle irq Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 25/27] multi-process: Retrieve PCI info from remote process Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 26/27] multi-process: perform device reset in the " Stefan Hajnoczi
2021-02-10  9:26 ` [PULL v4 27/27] docs: fix Parallels Image "dirty bitmap" section Stefan Hajnoczi
2021-02-10 17:33 ` [PULL v4 00/27] Block patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E7BA3F8E-E511-4593-858E-DB8B4C246A36@oracle.com \
    --to=jag.raman@oracle.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=den@openvz.org \
    --cc=ehabkost@redhat.com \
    --cc=elena.ufimtseva@oracle.com \
    --cc=fam@euphon.net \
    --cc=imammedo@redhat.com \
    --cc=john.g.johnson@oracle.com \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.