===================================================================
--- new.orig/net/net.c 2014-12-10 10:24:39.790496356 +0100
+++ new/net/net.c 2014-12-11 09:37:55.971321170 +0100
-@@ -1141,6 +1141,32 @@
+@@ -1141,6 +1141,33 @@
}
}
+ MAX_QUEUE_NUM);
+
+ if (queues == 0) {
-+ error_set(errp, QERR_DEVICE_NOT_FOUND, name);
-+ return (int64_t) -1;
++ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
++ "Device '%s' not found", name);
++ return (int64_t) -1;
+ }
+
+ nc = ncs[0];
static const char *const if_name[IF_COUNT] = {
[IF_NONE] = "none",
-@@ -1954,6 +1955,439 @@
+@@ -1954,6 +1955,440 @@
bdrv_put_ref_bh_schedule(bs);
}
+ pvebackup_cleanup();
+}
+
-+char *qmp_backup(const char *backup_file, bool has_format,
++UuidInfo *qmp_backup(const char *backup_file, bool has_format,
+ BackupFormat format,
+ bool has_config_file, const char *config_file,
+ bool has_devlist, const char *devlist,
+ if (blk) {
+ bs = blk_bs(blk);
+ if (bdrv_is_read_only(bs)) {
-+ error_set(errp, QERR_DEVICE_IS_READ_ONLY, *d);
++ error_setg(errp, "Node '%s' is read only", *d);
+ goto err;
+ }
+ if (!bdrv_is_inserted(bs)) {
-+ error_set(errp, QERR_DEVICE_HAS_NO_MEDIUM, *d);
++ error_setg(errp, QERR_DEVICE_HAS_NO_MEDIUM, *d);
+ goto err;
+ }
+ PVEBackupDevInfo *di = g_new0(PVEBackupDevInfo, 1);
+ di->bs = bs;
+ di_list = g_list_append(di_list, di);
+ } else {
-+ error_set(errp, QERR_DEVICE_NOT_FOUND, *d);
++ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
++ "Device '%s' not found", *d);
+ goto err;
+ }
+ d++;
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ new/savevm-async.c 2014-11-20 09:17:48.000000000 +0100
-@@ -0,0 +1,503 @@
+@@ -0,0 +1,506 @@
+#include "qemu-common.h"
+#include "qapi/qmp/qerror.h"
++#include "qemu/error-report.h"
+#include "sysemu/sysemu.h"
+#include "qmp-commands.h"
+#include "qemu-options.h"
+
+ blk = blk_by_name(device);
+ if (!blk) {
-+ error_set(errp, QERR_DEVICE_NOT_FOUND, device);
++ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
++ "Device '%s' not found", device);
+ return;
+ }
+
+ bs = blk_bs(blk);
+ if (!bdrv_is_inserted(bs)) {
-+ error_set(errp, QERR_DEVICE_HAS_NO_MEDIUM, device);
++ error_setg(errp, QERR_DEVICE_HAS_NO_MEDIUM, device);
+ return;
+ }
+
+ if (bdrv_is_read_only(bs)) {
-+ error_set(errp, QERR_DEVICE_IS_READ_ONLY, device);
++ error_setg(errp, "Node '%s' is read only", device);
+ return;
+ }
+
+ if (!bdrv_can_snapshot(bs)) {
-+ error_set(errp, QERR_UNSUPPORTED);
++ error_setg(errp, QERR_UNSUPPORTED);
+ return;
+ }
+
+
+ blk = blk_by_name(device);
+ if (!blk) {
-+ error_set(errp, QERR_DEVICE_NOT_FOUND, device);
++ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
++ "Device '%s' not found", device);
+ return;
+ }
+
+ bs = blk_bs(blk);
+ if (bdrv_is_read_only(bs)) {
-+ error_set(errp, QERR_DEVICE_IS_READ_ONLY, device);
++ error_setg(errp, "Node '%s' is read only", device);
+ return;
+ }
+
+ if (!bdrv_can_snapshot(bs)) {
-+ error_set(errp, QERR_UNSUPPORTED);
++ error_setg(errp, QERR_UNSUPPORTED);
+ return;
+ }
+