mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
bitkeeper revision 1.1563 (4295e70c6gPBeUtVURfaYnxTU_GbrA)
Make disconnect/destroy messages from xend to the backend drivers wait for responses to allow backends to shut down the connection properly.
This commit is contained in:
1 parent
72745b479d
commit
f6b4946f94
3 files changed
+11
-6
No files matched your search
@@ -103,14 +103,16 @@ class BlkifBackend:
|
||||
msg = packMsg('blkif_be_disconnect_t',
|
||||
{ 'domid' : self.frontendDomain,
|
||||
'blkif_handle' : self.id })
|
||||
self.backendChannel.writeRequest(msg)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
#todo: check return status
|
||||
self.connected = False
|
||||
|
||||
def send_be_destroy(self):
|
||||
msg = packMsg('blkif_be_destroy_t',
|
||||
{ 'domid' : self.frontendDomain,
|
||||
'blkif_handle' : self.id })
|
||||
self.backendChannel.writeRequest(msg)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
#todo: check return status
|
||||
|
||||
def connectInterface(self, val):
|
||||
self.openEvtchn()
|
||||
|
||||
@@ -313,13 +313,15 @@ class NetDev(Dev):
|
||||
msg = packMsg('netif_be_disconnect_t',
|
||||
{ 'domid' : self.frontendDomain,
|
||||
'netif_handle' : self.vif })
|
||||
return self.backendChannel.writeRequest(msg)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
#todo: check return status
|
||||
|
||||
def send_be_destroy(self, response=None):
|
||||
msg = packMsg('netif_be_destroy_t',
|
||||
{ 'domid' : self.frontendDomain,
|
||||
'netif_handle' : self.vif })
|
||||
return self.backendChannel.writeRequest(msg)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
#todo: check return status
|
||||
|
||||
def recv_fe_interface_connect(self, val):
|
||||
self.openEvtchn()
|
||||
|
||||
@@ -89,13 +89,14 @@ class UsbBackend:
|
||||
log.debug('>UsbifBackendController>send_be_disconnect> %s', str(self))
|
||||
msg = packMsg('usbif_be_disconnect_t',
|
||||
{ 'domid' : self.frontendDomain })
|
||||
self.backendChannel.writeRequest(msg)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
|
||||
def send_be_destroy(self, response=None):
|
||||
log.debug('>UsbifBackendController>send_be_destroy> %s', str(self))
|
||||
msg = packMsg('usbif_be_destroy_t',
|
||||
{ 'domid' : self.frontendDomain })
|
||||
self.backendChannel.writeRequest(msg, response=response)
|
||||
self.backendChannel.requestResponse(msg)
|
||||
#todo: check return status
|
||||
|
||||
|
||||
def connectInterface(self, val):
|
||||
|
||||