Re: [Qemu-devel] hotremoving a disk qmp/hmp
On Nov18 18:15, Markus Armbruster wrote: Looks like you're using an old version of QEMU. drive_del has been fixed to refuse touching a backend created with blockdev-add: I am using the last v2.1.x version but there was indeed some commits since You can't destroy a backend created with blockdev-add, yet. I hope to have blockdev-del in 2.3. thanks for the information My advice is to stick to drive_add and drive_del for now. Not in QMP, so you need to use HMP. You can do that in QMP with human-monitor-command. ok understood that's what I was suspecting after not finding a way to delete an object added by blockdev-add Thanks, -- William signature.asc Description: Digital signature
Re: [Qemu-devel] hotremoving a disk qmp/hmp
William Dauchy will...@gandi.net writes: Hello, When hotremoving a disk I'm using the QMP API with device_del command; Previous query-block command result: { 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/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'} This is block backend disk1. After a device_del command I have the same thing but 'locked': False I presume you're deleting the device using backend disk1. What kind of device is this? PCI, perhaps? Then I can also do `eject device=disk1` which bring me to: { u'device': u'disk1', u'io-status': u'ok', u'locked': False, u'removable': True, u'tray_open': False, u'type': u'unknown'} But I did not found a way to completely remove the disk1 entry in order to be able to add it again. To complete the operation I need to use the old HMP API and use `drive_del` command. Did I miss something? or is it still something missing in QMP API? Please show us a complete QMP conversation.
Re: [Qemu-devel] hotremoving a disk qmp/hmp
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': [ {
Re: [Qemu-devel] hotremoving a disk qmp/hmp
William Dauchy will...@gandi.net writes: 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', Using the same ID for different things currently works, but it's awfully confusing. Please don't :) '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':