• R
    qemu: call drive_unplug in DetachPciDiskDevice · 0cdc9829
    Ryan Harper 提交于
    Currently libvirt doesn't confirm whether the guest has responded to the
    disk removal request.  In some cases this can leave the guest with
    continued access to the device while the mgmt layer believes that it has
    been removed.  With a recent qemu monitor command[1] we can
    deterministically revoke a guests access to the disk (on the QEMU side)
    to ensure no futher access is permitted.
    
    This patch adds support for the drive_unplug() command and introduces it
    in the disk removal paths.  There is some discussion to be had about how
    to handle the case where the guest is running in a QEMU without this
    command (and the fact that we currently don't have a way of detecting
    what monitor commands are available).
    
    Changes since v2:
     - use VIR_ERROR to report when unplug command not found
    Changes since v1:
     - return > 0 when command isn't present, < 0 on command failure
     - detect when drive_unplug command isn't present and log error
       instead of failing entire command
    Signed-off-by: NRyan Harper <ryanh@us.ibm.com>
    0cdc9829
qemu_monitor.h 14.8 KB