qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-6.2 1/2] nbd/server: Don't complain on certain client dis


From: Eric Blake
Subject: Re: [PATCH for-6.2 1/2] nbd/server: Don't complain on certain client disconnects
Date: Wed, 17 Nov 2021 14:40:17 -0600
User-agent: NeoMutt/20211029-16-b680fe

On Wed, Nov 17, 2021 at 08:57:35PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> 17.11.2021 20:02, Eric Blake wrote:

> > This patch fixes things to avoid uninitialized memory, and in general
> > avoids warning about a client that does a hard shutdown when not in
> > the middle of a packet.  A client that aborts mid-request, or which
> > does not read the full server's reply, can still result in warnings,
> > but those are indeed much more unusual situations.
> > 
> > CC: qemu-stable@nongnu.org
> > Fixes: f148ae7d36 (nbd/server: Quiesce coroutines on context switch)
> > Signed-off-by: Eric Blake <eblake@redhat.com>
> > ---
> >   nbd/server.c | 7 +++++--
> >   1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/nbd/server.c b/nbd/server.c
> > index d9164ee6d0da..85877f630533 100644
> > --- a/nbd/server.c
> > +++ b/nbd/server.c
> > @@ -1418,6 +1418,9 @@ static int nbd_receive_request(NBDClient *client, 
> > NBDRequest *request,
> >       if (ret < 0) {
> >           return ret;
> >       }
> > +    if (ret == 0) {
> > +        return -EIO;
> > +    }
> 
> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> 
> I'd prefer not include following hunks to the patch, as they are unrelated.
> 
> > 
> >       /* Request
> >          [ 0 ..  3]   magic   (NBD_REQUEST_MAGIC)
> > @@ -2285,7 +2288,7 @@ static int nbd_co_receive_request(NBDRequestData 
> > *req, NBDRequest *request,
> >       assert(client->recv_coroutine == qemu_coroutine_self());
> >       ret = nbd_receive_request(client, request, errp);
> >       if (ret < 0) {
> > -        return  ret;
> > +        return ret;
> >       }
> > 
> >       trace_nbd_co_receive_request_decode_type(request->handle, 
> > request->type,
> > @@ -2662,7 +2665,7 @@ static coroutine_fn void nbd_trip(void *opaque)
> >       }
> > 
> >       if (ret < 0) {
> > -        /* It wans't -EIO, so, according to nbd_co_receive_request()
> > +        /* It wasn't -EIO, so, according to nbd_co_receive_request()

Yeah, they were typo fixes I noticed while investigating the code; I
should have either called them out in the commit message, or as you
say, split them into a separate trivial patch (in which case they
aren't urgent for 6.2).  I'm happy to do the latter, since I'm working
on more patches for qemu 7.0 to add a new NBD protocol extension
NBD_OPT_EXTENDED_HEADERS to expose your work on 64-bit write-zero
support end-to-end.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]