+++ /dev/null
-Index: new/vma-writer.c
-===================================================================
---- new.orig/vma-writer.c 2014-11-20 07:34:19.000000000 +0100
-+++ new/vma-writer.c 2014-11-20 07:49:17.000000000 +0100
-@@ -798,6 +798,13 @@
- return transferred;
- }
-
-+void vma_writer_error_propagate(VmaWriter *vmaw, Error **errp)
-+{
-+ if (vmaw->status < 0 && *errp == NULL) {
-+ error_setg(errp, "%s", vmaw->errmsg);
-+ }
-+}
-+
- int vma_writer_close(VmaWriter *vmaw, Error **errp)
- {
- g_assert(vmaw != NULL);
-Index: new/vma.h
-===================================================================
---- new.orig/vma.h 2014-11-20 07:34:27.000000000 +0100
-+++ new/vma.h 2014-11-20 07:49:17.000000000 +0100
-@@ -116,6 +116,7 @@
-
- VmaWriter *vma_writer_create(const char *filename, uuid_t uuid, Error **errp);
- int vma_writer_close(VmaWriter *vmaw, Error **errp);
-+void vma_writer_error_propagate(VmaWriter *vmaw, Error **errp);
- void vma_writer_destroy(VmaWriter *vmaw);
- int vma_writer_add_config(VmaWriter *vmaw, const char *name, gpointer data,
- size_t len);
-Index: new/blockdev.c
-===================================================================
---- new.orig/blockdev.c 2014-11-20 07:49:14.000000000 +0100
-+++ new/blockdev.c 2014-11-20 07:49:17.000000000 +0100
-@@ -2015,7 +2015,7 @@
- buf, &zero_bytes);
- if (ret < 0) {
- if (!backup_state.error) {
-- error_setg(&backup_state.error, "vma_writer_write error %d", ret);
-+ vma_writer_error_propagate(backup_state.vmaw, &backup_state.error);
- }
- if (di->bs && di->bs->job) {
- block_job_cancel(di->bs->job);