qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]