On 11/14/2011 10:45 AM, Stefan Hajnoczi wrote:
On Mon, Nov 14, 2011 at 4:25 PM, Anthony Liguori<anth...@codemonkey.ws> wrote:
On 11/14/2011 09:51 AM, Stefan Hajnoczi wrote:
On Fri, Nov 11, 2011 at 8:29 PM, Anthony Liguori<aligu...@us.ibm.com>
wrote:
+#define QERR_BLOCK_FORMAT_FEATURE_NOT_SUPPORTED \
+ "{ 'class': 'BlockFormatFeatureNotSupported', 'data': { 'format':
%s, 'name': %s, 'feature': %s } }"
+
Isn't having a separate error going to make life harder for management
tool writers? I would have expected one "migration not supported"
error, regardless of whether the reason is ivshmem, qcow2, or anything
else.
Errors shouldn't be tied to verbs. IOW, if you have a migrate command, you
don't want to have a MigrationFailed error because that's tied to a specific
verb.
Instead, you want the errors to provide additional information about the
verb failed. In this case, the verb is failing because you're requesting to
use a feature that is not supported by this particular block format.
Okay, this error is semantically different from the earlier error in
this series.
We need QMP documentation updates in this series so management tool
writers know to look out for. Otherwise libvirt and friends can only
provide generic "This operation failed. Opaque QEMU error:<blob>"
rather than responding with graceful error handling.
Current QMP documentation does not document errors.
The QAPI changes document the errors but it also changes the error paths such
that you can do this in a sane fashion.
So I agree with you 100% but it's a bigger thing than just this series.
Regards,
Anthony Liguori
Stefan