Message ID | 1610505995-144129-4-git-send-email-lei.rao@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fixed some bugs and optimized some codes for COLO | expand |
On Wed, 13 Jan 2021 10:46:28 +0800 leirao <lei.rao@intel.com> wrote: > From: "Rao, Lei" <lei.rao@intel.com> > > The iov_size has been calculated in filter_send(). we can directly > return the size.In this way, this is no need to repeat calculations > in filter_redirector_receive_iov(); > > Signed-off-by: Lei Rao <lei.rao@intel.com> > --- > net/filter-mirror.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/net/filter-mirror.c b/net/filter-mirror.c > index f8e6500..7fa2eb3 100644 > --- a/net/filter-mirror.c > +++ b/net/filter-mirror.c > @@ -88,7 +88,7 @@ static int filter_send(MirrorState *s, > goto err; > } > > - return 0; > + return size; > > err: > return ret < 0 ? ret : -EIO; > @@ -159,7 +159,7 @@ static ssize_t filter_mirror_receive_iov(NetFilterState *nf, > int ret; > > ret = filter_send(s, iov, iovcnt); > - if (ret) { > + if (ret <= 0) { > error_report("filter mirror send failed(%s)", strerror(-ret)); > } 0 is a valid return value if the data to send has size = 0. > @@ -182,10 +182,10 @@ static ssize_t filter_redirector_receive_iov(NetFilterState *nf, > > if (qemu_chr_fe_backend_connected(&s->chr_out)) { > ret = filter_send(s, iov, iovcnt); > - if (ret) { > + if (ret <= 0) { > error_report("filter redirector send failed(%s)", strerror(-ret)); > } dito > - return iov_size(iov, iovcnt); > + return ret; > } else { > return 0; > } --
OK, you are right, I will change it in V2. Thanks, Lei. -----Original Message----- From: Lukas Straub <lukasstraub2@web.de> Sent: Thursday, January 21, 2021 3:21 AM To: Rao, Lei <lei.rao@intel.com> Cc: Zhang, Chen <chen.zhang@intel.com>; lizhijian@cn.fujitsu.com; jasowang@redhat.com; zhang.zhanghailiang@huawei.com; quintela@redhat.com; dgilbert@redhat.com; qemu-devel@nongnu.org Subject: Re: [PATCH 03/10] Optimize the function of filter_send On Wed, 13 Jan 2021 10:46:28 +0800 leirao <lei.rao@intel.com> wrote: > From: "Rao, Lei" <lei.rao@intel.com> > > The iov_size has been calculated in filter_send(). we can directly > return the size.In this way, this is no need to repeat calculations in > filter_redirector_receive_iov(); > > Signed-off-by: Lei Rao <lei.rao@intel.com> > --- > net/filter-mirror.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/net/filter-mirror.c b/net/filter-mirror.c index > f8e6500..7fa2eb3 100644 > --- a/net/filter-mirror.c > +++ b/net/filter-mirror.c > @@ -88,7 +88,7 @@ static int filter_send(MirrorState *s, > goto err; > } > > - return 0; > + return size; > > err: > return ret < 0 ? ret : -EIO; > @@ -159,7 +159,7 @@ static ssize_t filter_mirror_receive_iov(NetFilterState *nf, > int ret; > > ret = filter_send(s, iov, iovcnt); > - if (ret) { > + if (ret <= 0) { > error_report("filter mirror send failed(%s)", strerror(-ret)); > } 0 is a valid return value if the data to send has size = 0. > @@ -182,10 +182,10 @@ static ssize_t > filter_redirector_receive_iov(NetFilterState *nf, > > if (qemu_chr_fe_backend_connected(&s->chr_out)) { > ret = filter_send(s, iov, iovcnt); > - if (ret) { > + if (ret <= 0) { > error_report("filter redirector send failed(%s)", strerror(-ret)); > } dito > - return iov_size(iov, iovcnt); > + return ret; > } else { > return 0; > } --
diff --git a/net/filter-mirror.c b/net/filter-mirror.c index f8e6500..7fa2eb3 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -88,7 +88,7 @@ static int filter_send(MirrorState *s, goto err; } - return 0; + return size; err: return ret < 0 ? ret : -EIO; @@ -159,7 +159,7 @@ static ssize_t filter_mirror_receive_iov(NetFilterState *nf, int ret; ret = filter_send(s, iov, iovcnt); - if (ret) { + if (ret <= 0) { error_report("filter mirror send failed(%s)", strerror(-ret)); } @@ -182,10 +182,10 @@ static ssize_t filter_redirector_receive_iov(NetFilterState *nf, if (qemu_chr_fe_backend_connected(&s->chr_out)) { ret = filter_send(s, iov, iovcnt); - if (ret) { + if (ret <= 0) { error_report("filter redirector send failed(%s)", strerror(-ret)); } - return iov_size(iov, iovcnt); + return ret; } else { return 0; }