[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] hotremoving a disk qmp/hmp
From: |
William Dauchy |
Subject: |
Re: [Qemu-devel] hotremoving a disk qmp/hmp |
Date: |
Tue, 18 Nov 2014 16:08:21 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Nov18 15:22, Markus Armbruster wrote:
> This is block backend "disk1".
yes indeed.
> I presume you're deleting the device using backend "disk1".
yes
> What kind of device is this? PCI, perhaps?
> Please show us a complete QMP conversation.
Here it is:
live vm with one disk:
(QEMU) query-block
{ u'return': [ { u'device': u'disk0',
u'inserted': { u'backing_file_depth': 0,
u'bps': 0,
u'bps_rd': 0,
u'bps_wr': 0,
u'detect_zeroes': u'off',
u'drv': u'raw',
u'encrypted': False,
u'encryption_key_missing': False,
u'file': u'/dev/sda',
u'image': { u'actual-size': 0,
u'dirty-flag': False,
u'filename': u'/dev/sda',
u'format': u'raw',
u'virtual-size':
3221225472},
u'iops': 0,
u'iops_rd': 0,
u'iops_wr': 0,
u'ro': False},
u'io-status': u'ok',
u'locked': True,
u'removable': True,
u'tray_open': False,
u'type': u'unknown'}]}
hotplugging one disk:
(QEMU) blockdev-add
with
{'options' : {
'driver': 'raw',
'id': 'disk1',
'file': {
'driver': 'file',
'filename': /dev/sdb,
}
}}
(QEMU) device_add
with:
{
'driver': 'scsi-hd',
'id': 'disk1',
'drive': 'disk1',
'scsi-id': 1,
'removable': 'on',
'dpofua': 'off'
}
(QEMU) query-block
{ u'return': [ { u'device': u'disk0',
u'inserted': { u'backing_file_depth': 0,
u'bps': 0,
u'bps_rd': 0,
u'bps_wr': 0,
u'detect_zeroes': u'off',
u'drv': u'raw',
u'encrypted': False,
u'encryption_key_missing': False,
u'file': u'/dev/sda',
u'image': { u'actual-size': 0,
u'dirty-flag': False,
u'filename': u'/dev/sda',
u'format': u'raw',
u'virtual-size':
3221225472},
u'iops': 0,
u'iops_rd': 0,
u'iops_wr': 0,
u'ro': False},
u'io-status': u'ok',
u'locked': True,
u'removable': True,
u'tray_open': False,
u'type': u'unknown'},,
{ u'device': u'disk1',
u'inserted': { u'backing_file_depth': 0,
u'bps': 0,
u'bps_rd': 0,
u'bps_wr': 0,
u'detect_zeroes': u'off',
u'drv': u'raw',
u'encrypted': False,
u'encryption_key_missing': False,
u'file': u'/dev/sdb',
u'image': { u'actual-size': 0,
u'dirty-flag': False,
u'filename': u'/dev/sdb',
u'format': u'raw',
u'virtual-size':
3221225472},
u'iops': 0,
u'iops_rd': 0,
u'iops_wr': 0,
u'ro': False},
u'io-status': u'ok',
u'locked': True,
u'removable': True,
u'tray_open': False,
u'type': u'unknown'}]}
hotremoving disk1:
(QEMU) device_del
with:
{'id': 'disk1'}
(QEMU) query-block
{ u'return': [ { u'device': u'disk0',
u'inserted': { u'backing_file_depth': 0,
u'bps': 0,
u'bps_rd': 0,
u'bps_wr': 0,
u'detect_zeroes': u'off',
u'drv': u'raw',
u'encrypted': False,
u'encryption_key_missing': False,
u'file': u'/dev/sda',
u'image': { u'actual-size': 0,
u'dirty-flag': False,
u'filename': u'/dev/sda',
u'format': u'raw',
u'virtual-size':
3221225472},
u'iops': 0,
u'iops_rd': 0,
u'iops_wr': 0,
u'ro': False},
u'io-status': u'ok',
u'locked': True,
u'removable': True,
u'tray_open': False,
u'type': u'unknown'},,
{ u'device': u'disk1',
u'inserted': { u'backing_file_depth': 0,
u'bps': 0,
u'bps_rd': 0,
u'bps_wr': 0,
u'detect_zeroes': u'off',
u'drv': u'raw',
u'encrypted': False,
u'encryption_key_missing': False,
u'file': u'/dev/sdb,
u'image': { u'actual-size': 0,
u'dirty-flag': False,
u'filename': u'/dev/sdb',
u'format': u'raw',
u'virtual-size':
3221225472},
u'iops': 0,
u'iops_rd': 0,
u'iops_wr': 0,
u'ro': False},
u'io-status': u'ok',
u'locked': False,
u'removable': True,
u'tray_open': False,
u'type': u'unknown'}]}
So now I have locked == False but I don't know how to clean the object
with QMP API.
so...
switching to HMP API:
(QEMU) info block
disk0: /dev/sda (raw)
Removable device: locked, tray closed
disk1: /dev/sdb (raw)
Removable device: not locked, tray closed
(QEMU) drive_del disk1
(QEMU) info block
disk0: /dev/sda (raw)
Removable device: locked, tray closed
Is there a way to do the same with QMP commands?
Thanks,
--
William
signature.asc
Description: Digital signature