When I use this patch:

diff --git a/src/util/iohelper.c b/src/util/iohelper.c
index 8a3c377..255365c 100644
--- a/src/util/iohelper.c
+++ b/src/util/iohelper.c
@@ -307,6 +307,7 @@ main(int argc, char **argv)
     if (delete)
         unlink(path);
 
+    fprintf(stderr, _("goodbye world \n")); goto error;
     return 0;
 
  error:

The output I see on the command line is:
  # virsh managedsave kvm1
  error: Failed to save domain kvm1 state
  error: operation failed: domain save job: unexpectedly failed

libvirtd outputs the following:
  2014-07-30 14:39:39.765+0000: 5975: error : qemuMigrationUpdateJobStatus:1788 : operation failed: domain save job: unexpectedly failed

I completed my testing with the following commit from master
  commit 221b1828f9bf9d1d59d2d4b318249de9f7ec7bb8
  Author: Roman Bogorodskiy <bogorodskiy@gmail.com>
  Date:   Thu Jul 24 19:52:11 2014 +0400

We appear to be getting different results. Can you try running out of disk space during a managed save and reporting what you get? Perhaps there is no code problem here after all? A quick look at my libvirtd.conf shows nothing obvious. I'm just using the default config file.