- /* See if drive_del isn't supported */
- if (qemuMonitorJSONHasError(reply, "CommandNotFound")) {
- VIR_ERROR0(_("deleting disk is not supported. "
- "This may leak data if disk is reassigned"));
- ret = 1;
- goto cleanup;
- } else if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) {
- /* NB: device not found errors mean the drive was
- * auto-deleted and we ignore the error */
- ret = 0;
- } else {
- ret = qemuMonitorJSONCheckError(cmd, reply);
- }
+ if (qemuMonitorJSONHasError(reply, "CommandNotFound")) {
+ VIR_DEBUG0(_("drive_del command not found, trying HMP"));
+ ret = qemuMonitorTextDriveDel(mon, drivestr);
+ } else if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) {
+ /* NB: device not found errors mean the drive was
+ * auto-deleted and we ignore the error */
+ ret = 0;
+ } else {
+ ret = qemuMonitorJSONCheckError(cmd, reply);
}
Looks good, although I think we should issue the "deleting disk is not
supported. This may leak data if disk is reassigned" error also in case
human-monitor-command is not supported. But that will need some more work on
the HMP infrastructure since it's not possible to get this from
qemuMonitorText* function that we call.
Jirka