[libvirt] [PATCH v2] qemu: fallback to HMP drive_add/drive_del
Hu Tao
hutao at cn.fujitsu.com
Mon Mar 14 07:17:43 UTC 2011
On Mon, Mar 14, 2011 at 02:20:39PM +0800, Wen Congyang wrote:
> At 03/14/2011 10:50 AM, Hu Tao Write:
> > On Fri, Mar 11, 2011 at 04:05:16PM +0100, Jiri Denemark wrote:
> >>> - /* 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.
> >
> > Is an "unknown command" reply the information we want? If yes this patch
> > v2 should do the work.
>
> Jirka said we should issue it when *human-monitor-command* is not supported, not
> *drive_del* is not supported in text mode.
got it. Thanks for explaination.
How can we tell if a command is not supported? A null reply? Or an
"unknown command" reply?
--
Thanks,
Hu Tao
More information about the libvir-list
mailing list