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