Messages in this thread | | | Subject | Re: [PATCH v7 02/13] xen/pvcalls: implement frontend disconnect | From | Boris Ostrovsky <> | Date | Thu, 26 Oct 2017 15:42:05 -0400 |
| |
On 10/26/2017 03:11 PM, Stefano Stabellini wrote: > Introduce a data structure named pvcalls_bedata. It contains pointers to > the command ring, the event channel, a list of active sockets and a list > of passive sockets. Lists accesses are protected by a spin_lock. > > Introduce a waitqueue to allow waiting for a response on commands sent > to the backend. > > Introduce an array of struct xen_pvcalls_response to store commands > responses. > > Introduce a new struct sock_mapping to keep track of sockets. In this > patch the struct sock_mapping is minimal, the fields will be added by > the next patches. > > pvcalls_refcount is used to keep count of the outstanding pvcalls users. > Only remove connections once the refcount is zero. > > Implement pvcalls frontend removal function. Go through the list of > active and passive sockets and free them all, one at a time. > > Signed-off-by: Stefano Stabellini <stefano@aporeto.com> > CC: boris.ostrovsky@oracle.com > CC: jgross@suse.com
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
| |