]> git.proxmox.com Git - pve-qemu-kvm.git/blame - debian/patches/qemu-img-convert-skipcreate-option.patch
updates for qemu 1.4.0
[pve-qemu-kvm.git] / debian / patches / qemu-img-convert-skipcreate-option.patch
CommitLineData
c0cf085d
AD
1From 6b8ac153620bbc1a39e9ee6eef0392219886ebb3 Mon Sep 17 00:00:00 2001
2From: Alexandre Derumier <aderumier@odiso.com>
3Date: Mon, 29 Oct 2012 10:02:33 +0100
4Subject: [PATCH] skipcreate
5
6
7Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
8---
9 qemu-img.c | 36 +++++++++++++++++++++---------------
10 1 file changed, 21 insertions(+), 15 deletions(-)
11
e96de165
DM
12Index: new/qemu-img.c
13===================================================================
92bf040c
DM
14--- new.orig/qemu-img.c 2013-02-11 12:01:06.000000000 +0100
15+++ new/qemu-img.c 2013-02-11 12:12:34.000000000 +0100
16@@ -665,7 +665,7 @@
c0cf085d
AD
17
18 static int img_convert(int argc, char **argv)
19 {
20- int c, ret = 0, n, n1, bs_n, bs_i, compress, cluster_size, cluster_sectors;
21+ int c, ret = 0, n, n1, bs_n, bs_i, compress, cluster_size, cluster_sectors, skipcreate;
22 int progress = 0, flags;
23 const char *fmt, *out_fmt, *cache, *out_baseimg, *out_filename;
24 BlockDriver *drv, *proto_drv;
92bf040c 25@@ -687,8 +687,9 @@
c0cf085d
AD
26 cache = "unsafe";
27 out_baseimg = NULL;
28 compress = 0;
29+ skipcreate = 0;
30 for(;;) {
31- c = getopt(argc, argv, "f:O:B:s:hce6o:pS:t:");
32+ c = getopt(argc, argv, "f:O:B:s:hcCe6o:pS:t:");
33 if (c == -1) {
34 break;
35 }
92bf040c 36@@ -709,6 +710,9 @@
c0cf085d
AD
37 case 'c':
38 compress = 1;
39 break;
40+ case 'C':
41+ skipcreate = 1;
42+ break;
43 case 'e':
44 error_report("option -e is deprecated, please use \'-o "
45 "encryption\' instead!");
92bf040c 46@@ -869,20 +873,22 @@
c0cf085d
AD
47 }
48 }
49
50- /* Create the new image */
51- ret = bdrv_create(drv, out_filename, param);
52- if (ret < 0) {
53- if (ret == -ENOTSUP) {
54- error_report("Formatting not supported for file format '%s'",
55- out_fmt);
56- } else if (ret == -EFBIG) {
57- error_report("The image size is too large for file format '%s'",
58- out_fmt);
59- } else {
60- error_report("%s: error while converting %s: %s",
61- out_filename, out_fmt, strerror(-ret));
62+ if (!skipcreate) {
63+ /* Create the new image */
64+ ret = bdrv_create(drv, out_filename, param);
65+ if (ret < 0) {
66+ if (ret == -ENOTSUP) {
67+ error_report("Formatting not supported for file format '%s'",
68+ out_fmt);
69+ } else if (ret == -EFBIG) {
70+ error_report("The image size is too large for file format '%s'",
71+ out_fmt);
72+ } else {
73+ error_report("%s: error while converting %s: %s",
74+ out_filename, out_fmt, strerror(-ret));
75+ }
76+ goto out;
77 }
78- goto out;
79 }
80
81 flags = BDRV_O_RDWR;