Index: new/vma-reader.c
===================================================================
---- new.orig/vma-reader.c 2013-11-28 12:33:41.000000000 +0100
-+++ new/vma-reader.c 2013-11-28 12:48:20.000000000 +0100
+--- new.orig/vma-reader.c 2014-11-20 08:15:12.000000000 +0100
++++ new/vma-reader.c 2014-11-20 08:47:30.000000000 +0100
@@ -53,6 +53,8 @@
time_t start_time;
int64_t cluster_count;
+
+ int64_t datasize = vmar->clusters_read*VMA_CLUSTER_SIZE-vmar->zero_cluster_data;
+ if (datasize) { // this does not make sense for empty files
-+ printf("space reduction due to 4K zero bocks %.3g%%\n",
++ printf("space reduction due to 4K zero blocks %.3g%%\n",
+ (double)(100.0*vmar->partial_zero_cluster_data) / datasize);
+ }
+ }
+
Index: new/vma.c
===================================================================
---- new.orig/vma.c 2013-11-28 12:33:41.000000000 +0100
-+++ new/vma.c 2013-11-28 12:35:21.000000000 +0100
-@@ -33,7 +33,8 @@
- "\n"
+--- new.orig/vma.c 2014-11-20 08:47:23.000000000 +0100
++++ new/vma.c 2014-11-20 08:47:30.000000000 +0100
+@@ -34,6 +34,7 @@
"vma list <filename>\n"
"vma create <filename> [-c config] <archive> pathname ...\n"
-- "vma extract <filename> [-r] <targetdir>\n"
-+ "vma extract <filename> [-v] [-r] <targetdir>\n"
+ "vma extract <filename> [-r <fifo>] <targetdir>\n"
+ "vma verify <filename> [-v]\n"
;
typedef struct BackupJob {
BlockDriverState *bs;
int64_t len;
-@@ -616,6 +669,8 @@
+@@ -575,6 +628,8 @@
return create_archive(argc, argv);
} else if (!strcmp(cmdname, "extract")) {
return extract_content(argc, argv);
help();
Index: new/vma.h
===================================================================
---- new.orig/vma.h 2013-11-28 12:33:41.000000000 +0100
-+++ new/vma.h 2013-11-28 12:33:50.000000000 +0100
-@@ -140,5 +140,6 @@
+--- new.orig/vma.h 2014-11-20 08:15:12.000000000 +0100
++++ new/vma.h 2014-11-20 08:47:30.000000000 +0100
+@@ -142,5 +142,6 @@
Error **errp);
int vma_reader_restore(VmaReader *vmar, int vmstate_fd, bool verbose,
Error **errp);