[libvirt] [PATCH v5] qemu: call drive_del in DetachPciDiskDevice
Eric Blake
eblake at redhat.com
Wed Dec 8 19:30:58 UTC 2010
On 11/16/2010 03:12 AM, Daniel P. Berrange wrote:
> On Fri, Nov 12, 2010 at 12:23:41PM -0600, Ryan Harper wrote:
>> 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_del() command and introduces it
>> in the disk removal paths. If the guest is running in a QEMU without this
>> command we currently explicitly check for unknown command/CommandNotFound
>> and log the issue.
>>
>> If QEMU supports the command we issue the drive_del command after we attempt
>> to remove the device. The guest may respond and remove the block device
>> before we get to attempt to call drive_del. In that case, we explicitly check
>> for 'Device not found' from the monitor indicating that the target drive
>> was auto-deleted upon guest responds to the device removal notification.
>>
>> 1. http://thread.gmane.org/gmane.comp.emulators.qemu/84745
>>
>> Signed-off-by: Ryan Harper <ryanh at us.ibm.com>
>> ---
>> Changes since v4:
>> - removed PATH_MAX, use virAsprintf()
>> - moved drivestr allocation before call to EnterMonitor
> ACK, once this drive_del hits the main QEMU git repos
Shoot. I committed v3 rather than v5 upstream. I'll have to fix that
up; sorry for my mess.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20101208/e8a8ae4a/attachment-0001.sig>
More information about the libvir-list
mailing list