On Wed, 13 Jan 2021 10:46:28 +0800 leirao <[email protected]> wrote: > From: "Rao, Lei" <[email protected]> > > 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 <[email protected]> > --- > 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;
> }
--
pgpren7BvFF7C.pgp
Description: OpenPGP digital signature
