Re: [PATCH v3 0/4] vsock: cancel connect packets when failing to connect
On Fri, Dec 9, 2016 at 6:18 PM, Stefan Hajnocziwrote: > On Fri, Dec 09, 2016 at 01:12:32AM +0800, Peng Tao wrote: >> Currently, if a connect call fails on a signal or timeout (e.g., guest is >> still >> in the process of starting up), we'll just return to caller and leave the >> connect >> packet queued and they are sent even though the connection is considered a >> failure, >> which can confuse applications with unwanted false connect attempt. >> >> The patchset enables vsock (both host and guest) to cancel queued packets >> when >> a connect attempt is considered to fail. >> >> v3 changelog: >> - define cancel_pkt callback in struct vsock_transport rather than struct >> virtio_transport >> - rename virtio_vsock_pkt->vsk to virtio_vsock_pkt->cancel_token >> v2 changelog: >> - fix queued_replies counting and resume tx/rx when necessary >> >> >> Peng Tao (4): >> vsock: track pkt owner vsock >> vhost-vsock: add pkt cancel capability >> vsock: add pkt cancel capability >> vsock: cancel packets when failing to connect >> >> drivers/vhost/vsock.c | 41 >> >> include/linux/virtio_vsock.h| 2 ++ >> include/net/af_vsock.h | 3 +++ >> net/vmw_vsock/af_vsock.c| 14 +++ >> net/vmw_vsock/virtio_transport.c| 42 >> + >> net/vmw_vsock/virtio_transport_common.c | 7 ++ >> 6 files changed, 109 insertions(+) > > I'm happy although I pointed out two unnecessary (void*) casts. > > Please wait for Jorgen to go happy on the af_vsock.c changes before > applying. Thanks for reviewing! Jorgen, would you please see if the changes to af_vsock.c is OK to you? Cheers, Tao
Re: [PATCH v3 0/4] vsock: cancel connect packets when failing to connect
On Fri, Dec 09, 2016 at 01:12:32AM +0800, Peng Tao wrote: > Currently, if a connect call fails on a signal or timeout (e.g., guest is > still > in the process of starting up), we'll just return to caller and leave the > connect > packet queued and they are sent even though the connection is considered a > failure, > which can confuse applications with unwanted false connect attempt. > > The patchset enables vsock (both host and guest) to cancel queued packets when > a connect attempt is considered to fail. > > v3 changelog: > - define cancel_pkt callback in struct vsock_transport rather than struct > virtio_transport > - rename virtio_vsock_pkt->vsk to virtio_vsock_pkt->cancel_token > v2 changelog: > - fix queued_replies counting and resume tx/rx when necessary > > > Peng Tao (4): > vsock: track pkt owner vsock > vhost-vsock: add pkt cancel capability > vsock: add pkt cancel capability > vsock: cancel packets when failing to connect > > drivers/vhost/vsock.c | 41 > include/linux/virtio_vsock.h| 2 ++ > include/net/af_vsock.h | 3 +++ > net/vmw_vsock/af_vsock.c| 14 +++ > net/vmw_vsock/virtio_transport.c| 42 > + > net/vmw_vsock/virtio_transport_common.c | 7 ++ > 6 files changed, 109 insertions(+) I'm happy although I pointed out two unnecessary (void*) casts. Please wait for Jorgen to go happy on the af_vsock.c changes before applying. signature.asc Description: PGP signature
[PATCH v3 0/4] vsock: cancel connect packets when failing to connect
Currently, if a connect call fails on a signal or timeout (e.g., guest is still in the process of starting up), we'll just return to caller and leave the connect packet queued and they are sent even though the connection is considered a failure, which can confuse applications with unwanted false connect attempt. The patchset enables vsock (both host and guest) to cancel queued packets when a connect attempt is considered to fail. v3 changelog: - define cancel_pkt callback in struct vsock_transport rather than struct virtio_transport - rename virtio_vsock_pkt->vsk to virtio_vsock_pkt->cancel_token v2 changelog: - fix queued_replies counting and resume tx/rx when necessary Peng Tao (4): vsock: track pkt owner vsock vhost-vsock: add pkt cancel capability vsock: add pkt cancel capability vsock: cancel packets when failing to connect drivers/vhost/vsock.c | 41 include/linux/virtio_vsock.h| 2 ++ include/net/af_vsock.h | 3 +++ net/vmw_vsock/af_vsock.c| 14 +++ net/vmw_vsock/virtio_transport.c| 42 + net/vmw_vsock/virtio_transport_common.c | 7 ++ 6 files changed, 109 insertions(+) -- 2.7.4