netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] 9p/trans_virtio: discard zero-length reply
@ 2018-01-22 21:02 Greg Kurz
  2018-02-08 17:52 ` [V9fs-developer] " Greg Kurz
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kurz @ 2018-01-22 21:02 UTC (permalink / raw)
  To: v9fs-developer
  Cc: netdev, linux-kernel, David S. Miller, Michael S. Tsirkin,
	Eric Van Hensbergen, Latchesar Ionkov, Ron Minnich

When a 9p request is successfully flushed, the server is expected to just
mark it as used without sending a 9p reply (ie, without writing data into
the buffer). In this case, virtqueue_get_buf() will return len == 0 and
we must not report a REQ_STATUS_RCVD status to the client, otherwise the
client will erroneously assume the request has not been flushed.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 net/9p/trans_virtio.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index 0845aad4ba51..ca08c72ef4de 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -171,7 +171,8 @@ static void req_done(struct virtqueue *vq)
 		spin_unlock_irqrestore(&chan->lock, flags);
 		/* Wakeup if anyone waiting for VirtIO ring space. */
 		wake_up(chan->vc_wq);
-		p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
+		if (len)
+			p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
 	}
 }
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [V9fs-developer] [PATCH] 9p/trans_virtio: discard zero-length reply
  2018-01-22 21:02 [PATCH] 9p/trans_virtio: discard zero-length reply Greg Kurz
@ 2018-02-08 17:52 ` Greg Kurz
  2018-02-08 19:13   ` Michael S. Tsirkin
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kurz @ 2018-02-08 17:52 UTC (permalink / raw)
  To: v9fs-developer, Michael S. Tsirkin
  Cc: Latchesar Ionkov, Eric Van Hensbergen, netdev, linux-kernel,
	Ron Minnich, David S. Miller

Ping ?

Michael,

Since this is virtio code and you have acked the QEMU part of the fix already,
would you be kind enough to take this through your tree ?

Cheers,

--
Greg

On Mon, 22 Jan 2018 22:02:05 +0100
Greg Kurz <groug@kaod.org> wrote:

> When a 9p request is successfully flushed, the server is expected to just
> mark it as used without sending a 9p reply (ie, without writing data into
> the buffer). In this case, virtqueue_get_buf() will return len == 0 and
> we must not report a REQ_STATUS_RCVD status to the client, otherwise the
> client will erroneously assume the request has not been flushed.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>
> ---
>  net/9p/trans_virtio.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> index 0845aad4ba51..ca08c72ef4de 100644
> --- a/net/9p/trans_virtio.c
> +++ b/net/9p/trans_virtio.c
> @@ -171,7 +171,8 @@ static void req_done(struct virtqueue *vq)
>  		spin_unlock_irqrestore(&chan->lock, flags);
>  		/* Wakeup if anyone waiting for VirtIO ring space. */
>  		wake_up(chan->vc_wq);
> -		p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
> +		if (len)
> +			p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
>  	}
>  }
>  
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> V9fs-developer mailing list
> V9fs-developer@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/v9fs-developer

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [V9fs-developer] [PATCH] 9p/trans_virtio: discard zero-length reply
  2018-02-08 17:52 ` [V9fs-developer] " Greg Kurz
@ 2018-02-08 19:13   ` Michael S. Tsirkin
  0 siblings, 0 replies; 3+ messages in thread
From: Michael S. Tsirkin @ 2018-02-08 19:13 UTC (permalink / raw)
  To: Greg Kurz
  Cc: v9fs-developer, Latchesar Ionkov, Eric Van Hensbergen, netdev,
	linux-kernel, Ron Minnich, David S. Miller

OK, I've queued it.

On Thu, Feb 08, 2018 at 06:52:32PM +0100, Greg Kurz wrote:
> Ping ?
> 
> Michael,
> 
> Since this is virtio code and you have acked the QEMU part of the fix already,
> would you be kind enough to take this through your tree ?
> 
> Cheers,
> 
> --
> Greg
> 
> On Mon, 22 Jan 2018 22:02:05 +0100
> Greg Kurz <groug@kaod.org> wrote:
> 
> > When a 9p request is successfully flushed, the server is expected to just
> > mark it as used without sending a 9p reply (ie, without writing data into
> > the buffer). In this case, virtqueue_get_buf() will return len == 0 and
> > we must not report a REQ_STATUS_RCVD status to the client, otherwise the
> > client will erroneously assume the request has not been flushed.
> > 
> > Signed-off-by: Greg Kurz <groug@kaod.org>
> > ---
> >  net/9p/trans_virtio.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> > index 0845aad4ba51..ca08c72ef4de 100644
> > --- a/net/9p/trans_virtio.c
> > +++ b/net/9p/trans_virtio.c
> > @@ -171,7 +171,8 @@ static void req_done(struct virtqueue *vq)
> >  		spin_unlock_irqrestore(&chan->lock, flags);
> >  		/* Wakeup if anyone waiting for VirtIO ring space. */
> >  		wake_up(chan->vc_wq);
> > -		p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
> > +		if (len)
> > +			p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
> >  	}
> >  }
> >  
> > 
> > 
> > ------------------------------------------------------------------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > V9fs-developer mailing list
> > V9fs-developer@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/v9fs-developer

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-02-08 19:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-22 21:02 [PATCH] 9p/trans_virtio: discard zero-length reply Greg Kurz
2018-02-08 17:52 ` [V9fs-developer] " Greg Kurz
2018-02-08 19:13   ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).