All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit b8984679 authored by Ian Campbell's avatar Ian Campbell

libxl: do not rely on guest to respond when forcing pci device removal

This is consistent with the expected semantics of a forced device
removal and also avoids a delay when destroying an HVM domain which
either does not support hot unplug (does not respond to SCI) or has
crashed.
Signed-off-by: default avatarIan Campbell <ian.campbell@citrix.com>
Committed-by: default avatarIan Jackson <ian.jackson@eu.citrix.com>
parent 7a7f60af
......@@ -865,7 +865,7 @@ static int do_pci_remove(libxl__gc *gc, uint32_t domid,
/* Remove all functions at once atomically by only signalling
* device-model for function 0 */
if ( (pcidev->vdevfn & 0x7) == 0 ) {
if ( !force && (pcidev->vdevfn & 0x7) == 0 ) {
xs_write(ctx->xsh, XBT_NULL, path, "pci-rem", strlen("pci-rem"));
if (libxl__wait_for_device_model(ctx, domid, "pci-removed", NULL, NULL) < 0) {
LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Device Model didn't respond in time");
......@@ -873,8 +873,7 @@ static int do_pci_remove(libxl__gc *gc, uint32_t domid,
* SCI, if it doesn't respond in time then we may wish to
* force the removal.
*/
if ( !force )
return ERROR_FAIL;
return ERROR_FAIL;
}
}
path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/state", domid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment