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